Skip to content

Instantly share code, notes, and snippets.

View valerybriz's full-sized avatar
🐍
Writing poetry in Python

Valery Briz valerybriz

🐍
Writing poetry in Python
View GitHub Profile
@valerybriz
valerybriz / cached.py
Created April 7, 2019 00:38
cached and not cached queries
# Create the query filtering users with email myemail@gmail.com
users = User.objects.get(email="myemail@gmail.com")
users.name # Hit the database and retrive the name value
users.name # cached version, no database access
# Create the query filtering teams named tigers
team = Team.objects.get(name="tigers")
team.users.all() # query performed
team.users.all() # query performed again
@valerybriz
valerybriz / hit_queries.py
Last active May 2, 2019 21:51
queries that hit the database
# Iteration
for user in User.objects.all():
print(user.name)
# Slicing
User.objects.all()[:10]
# Pickling or Caching
pickle_str = pickle.dumps(user_queryset)
user_queryset = pickle.loads(pickle_str)
@valerybriz
valerybriz / user_query.py
Last active May 2, 2019 21:49
example query
user_query = User.objects.filter(name="Ana") # Filter the users by the name "Ana"
user_query = user_query.filter(age__lte=50) # Then get only the users where the age is less than 50
user_query = user_query.exclude(email__isnull=True) # And exclude the users that doesn't have an email
print(user_query)
@valerybriz
valerybriz / django_example_schema.py
Last active May 2, 2019 21:45
Django example schema
class User(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.TextField()
email = models.TextField()
age = models.PositiveSmallIntegerField()
team = models.ForeignKey(Team, on_delete=models.PROTECT, related_name='users', null=True)
class Team(models.Model):
location = models.TextField()