Skip to content

Instantly share code, notes, and snippets.

@illuzian
Last active August 29, 2015 14:12
Show Gist options
  • Select an option

  • Save illuzian/bac25c6b843b58d2a015 to your computer and use it in GitHub Desktop.

Select an option

Save illuzian/bac25c6b843b58d2a015 to your computer and use it in GitHub Desktop.
#Hypothetical models.py
from django.db import models
class Something(models.Model):
name = models.CharField(max_length=40)
some_number = models.IntegerField(max_length=5)
#Now you would magically create the table(s) with `python manage.py makemigrations; python manage.py migrate`
#Hypothetical other file accessing the model
from .models import Something
#example query
a = Something.objects.get(id=1) #get an object based on django's aut genned uid, returns a single objects
#Print obj properties
print a.name
print a.some_number
#Get a queryset
b = Something.objects.filter(name__contains='tony') # filter all objects whose name contains tony
#iterate over the results
for bo in b:
print bo.name
print bo.some_number
#create a new object in db
new = Something(name='Robbo', some_number=2)
new.save()
#other way
newer = Something()
newer.name = 'Robbo'
newer.some_number = 2
newer.save()
#Related objects models.py example
class Something(models.Model):
name = models.CharField(max_length=40)
some_number = models.IntegerField(max_length=5)
class SomethingProperties(models.Model):
something = models.ForeignKey(Something)
favourite_color = models.CharField(max_length=20)
#Doing some magical relationship searching
from models.py import SomethingProperties, Something
a = SomethingProperties.objects.filter(something__name__contains='ob') #Queryset
#follow some relationships pretend
#Something is ID(pkey): 1, name: Stewie, some_number: 2
#SomethingProperties is ID(pkey): 1, something(fkey): 1, favorite_color: BLUE
b = SomethingProperties.objects.get(id=1)
#get related values
print b.favorite_color
#> BLUE
print b.something.name
#> Stewie
print b.something.some_number
#> 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment