class Place(models.Model): name = models.CharField(max_length=100) links = GenericRelation(Link, related_query_name='places') link_proxy = GenericRelation(LinkProxy) def __str__(self): return "Place: %s" % self.name
class Book(models.Model): title = models.CharField(max_length=50) author = models.CharField(max_length=30) is_published = models.BooleanField(default=False) authors = models.ManyToManyField(Person, related_name='books') fun_authors = models.ManyToManyField(FunPerson, related_name='books') favorite_things = GenericRelation( Person, content_type_field='favorite_thing_type', object_id_field='favorite_thing_id', ) fun_people_favorite_things = GenericRelation( FunPerson, content_type_field='favorite_thing_type', object_id_field='favorite_thing_id', ) published_objects = PublishedBookManager() annotated_objects = AnnotatedBookManager() class Meta: base_manager_name = 'annotated_objects' def __str__(self): return self.title
class Bookmark(models.Model): url = models.URLField() tags = GenericRelation(TaggedItem, related_query_name='bookmarks') favorite_tags = GenericRelation(TaggedItem, content_type_field='favorite_ct', object_id_field='favorite_fkey', related_query_name='favorite_bookmarks') class Meta: ordering = ['id']
class Animal(models.Model): common_name = models.CharField(max_length=150) latin_name = models.CharField(max_length=150) tags = GenericRelation(TaggedItem, related_query_name='animal') comparisons = GenericRelation(Comparison, object_id_field="object_id1", content_type_field="content_type1") def __str__(self): return self.common_name
class Post(models.Model): name = models.CharField(max_length=30) text = models.TextField() tags = GenericRelation('Tag') class Meta: db_table = 'CaseSensitive_Post'
class Person(models.Model): account = models.IntegerField(primary_key=True) name = models.CharField(max_length=128) addresses = GenericRelation(Address) def __str__(self): return self.name
class BasePerson(AbstractPerson): # DATA fields data_base = models.CharField(max_length=10) fk_base = models.ForeignKey(Relation, models.CASCADE, related_name='fk_base_rel') # M2M fields m2m_base = models.ManyToManyField(Relation, related_name='m2m_base_rel') friends_base = models.ManyToManyField('self', related_name='friends_base', symmetrical=True) following_base = models.ManyToManyField('self', related_name='followers_base', symmetrical=False) # VIRTUAL fields data_not_concrete_base = models.ForeignObject( Relation, on_delete=models.CASCADE, from_fields=['base_non_concrete_id'], to_fields=['id'], related_name='fo_base_rel', ) # GFK fields content_type_base = models.ForeignKey(ContentType, models.CASCADE, related_name='+') object_id_base = models.PositiveIntegerField() content_object_base = GenericForeignKey('content_type_base', 'object_id_base') # GR fields generic_relation_base = GenericRelation(Relation)
class Vegetable(models.Model): name = models.CharField(max_length=150) is_yucky = models.BooleanField(default=True) tags = GenericRelation(TaggedItem) def __str__(self): return self.name
class RelatedModel(models.Model): test_gfk = GenericRelation('RelationModel', content_type_field='gfk_ctype', object_id_field='gfk_id') exact = models.BooleanField(null=True) def __str__(self): return str(self.pk)
class Post(models.Model): """An ordered tag on an item.""" title = models.CharField(max_length=200) content_type = models.ForeignKey(ContentType, models.CASCADE, null=True) object_id = models.PositiveIntegerField(null=True) parent = GenericForeignKey() children = GenericRelation('Post') class Meta: order_with_respect_to = 'parent' def __str__(self): return self.title
class Book(models.Model): objects = BookManager() title = models.CharField(max_length=100) published = models.DateField() authors = models.ManyToManyField(Person) editor = models.ForeignKey(Person, models.SET_NULL, null=True, related_name='edited') reviews = GenericRelation(Review) pages = models.IntegerField(default=100) def __str__(self): return self.title class Meta: ordering = ('title',)
class AbstractPerson(models.Model): # DATA fields data_abstract = models.CharField(max_length=10) fk_abstract = models.ForeignKey(Relation, models.CASCADE, related_name='fk_abstract_rel') # M2M fields m2m_abstract = models.ManyToManyField(Relation, related_name='m2m_abstract_rel') friends_abstract = models.ManyToManyField('self', related_name='friends_abstract', symmetrical=True) following_abstract = models.ManyToManyField( 'self', related_name='followers_abstract', symmetrical=False) # VIRTUAL fields data_not_concrete_abstract = models.ForeignObject( Relation, on_delete=models.CASCADE, from_fields=['abstract_non_concrete_id'], to_fields=['id'], related_name='fo_abstract_rel', ) # GFK fields content_type_abstract = models.ForeignKey(ContentType, models.CASCADE, related_name='+') object_id_abstract = models.PositiveIntegerField() content_object_abstract = GenericForeignKey('content_type_abstract', 'object_id_abstract') # GR fields generic_relation_abstract = GenericRelation(Relation) class Meta: abstract = True @property def test_property(self): return 1 test_instance_only_descriptor = InstanceOnlyDescriptor()
class Book(models.Model): isbn = models.CharField(max_length=9) name = models.CharField(max_length=255) pages = models.IntegerField() rating = models.FloatField() price = models.DecimalField(decimal_places=2, max_digits=6) authors = models.ManyToManyField(Author) contact = models.ForeignKey(Author, models.CASCADE, related_name='book_contact_set') publisher = models.ForeignKey(Publisher, models.CASCADE) pubdate = models.DateField() tags = GenericRelation(ItemTag) class Meta: ordering = ('name', ) def __str__(self): return self.name
class Book(models.Model): AVAILABLE = 'available' RESERVED = 'reserved' RENTED = 'rented' STATES = ( (AVAILABLE, 'Available'), (RESERVED, 'reserved'), (RENTED, 'Rented'), ) title = models.CharField(max_length=255) author = models.ForeignKey( Author, models.CASCADE, related_name='books', related_query_name='book', ) editor = models.ForeignKey(Editor, models.CASCADE) generic_author = GenericRelation(Author) state = models.CharField(max_length=9, choices=STATES, default=AVAILABLE) def __str__(self): return self.title
class AllFieldsModel(models.Model): big_integer = models.BigIntegerField() binary = models.BinaryField() boolean = models.BooleanField(default=False) char = models.CharField(max_length=10) date = models.DateField() datetime = models.DateTimeField() decimal = models.DecimalField(decimal_places=2, max_digits=2) duration = models.DurationField() email = models.EmailField() file_path = models.FilePathField() floatf = models.FloatField() integer = models.IntegerField() generic_ip = models.GenericIPAddressField() null_boolean = models.NullBooleanField() positive_integer = models.PositiveIntegerField() positive_small_integer = models.PositiveSmallIntegerField() slug = models.SlugField() small_integer = models.SmallIntegerField() text = models.TextField() time = models.TimeField() url = models.URLField() uuid = models.UUIDField() fo = ForeignObject('self', on_delete=models.CASCADE, from_fields=['abstract_non_concrete_id'], to_fields=['id'], related_name='reverse') fk = ForeignKey('self', models.CASCADE, related_name='reverse2') m2m = ManyToManyField('self') oto = OneToOneField('self', models.CASCADE) object_id = models.PositiveIntegerField() content_type = models.ForeignKey(ContentType, models.CASCADE) gfk = GenericForeignKey() gr = GenericRelation(DataModel)
class OddRelation2(models.Model): name = models.CharField(max_length=100) tlinks = GenericRelation(TextLink)
class GenericData(models.Model): data = models.CharField(max_length=30) tags = GenericRelation(Tag)
class Question(models.Model): text = models.CharField(max_length=200) answer_set = GenericRelation('Answer')
class Person(models.Model): name = models.CharField(max_length=25) awards = GenericRelation(Award)
class InvalidBookmark(models.Model): tags_ = GenericRelation('TaggedItem')
class Contact(models.Model): notes = GenericRelation(Note)
class Bookmark(models.Model): tags = GenericRelation('TaggedItem')
class Model(models.Model): rel = GenericRelation('SwappedModel')
class Model(models.Model): rel = GenericRelation('MissingModel')
class Model(models.Model): rel = GenericRelation('Model') content_type = models.ForeignKey(ContentType, models.CASCADE) object_id = models.PositiveIntegerField() content_object = GenericForeignKey('content_type', 'object_id')
class Bookmark(models.Model): tags = GenericRelation( 'TaggedItem', content_type_field='custom_content_type', object_id_field='custom_object_id', )
class Rock(Mineral): tags = GenericRelation(TaggedItem)
class ValuableRock(Mineral): tags = GenericRelation(ValuableTaggedItem)
class ManualPK(models.Model): id = models.IntegerField(primary_key=True) tags = GenericRelation(TaggedItem, related_query_name='manualpk')
class ConcreteRelatedModel(models.Model): bases = GenericRelation(ForProxyModelModel, for_concrete_model=False)