Last active
August 29, 2015 14:12
-
-
Save illuzian/bac25c6b843b58d2a015 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #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