mirror of
https://github.com/django/django.git
synced 2025-08-03 02:23:12 +00:00
Fiexed #3055 -- Validate that models target of a GenericRelation have a GenericForeignKey field.
Thanks jason for diagnosing the problem and Marcos Moyano for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14563 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
0324151bec
commit
b6ec268e23
3 changed files with 35 additions and 0 deletions
|
@ -4,6 +4,7 @@
|
|||
This example exists purely to point out errors in models.
|
||||
"""
|
||||
|
||||
from django.contrib.contenttypes import generic
|
||||
from django.db import models
|
||||
|
||||
class FieldErrors(models.Model):
|
||||
|
@ -216,6 +217,20 @@ class InvalidSetNull(models.Model):
|
|||
class InvalidSetDefault(models.Model):
|
||||
fk = models.ForeignKey('self', on_delete=models.SET_DEFAULT)
|
||||
|
||||
class Tag(models.Model):
|
||||
name = models.CharField("name", max_length=20)
|
||||
|
||||
class TaggedObject(models.Model):
|
||||
object_id = models.PositiveIntegerField("Object ID")
|
||||
tag = models.ForeignKey(Tag)
|
||||
content_object = generic.GenericForeignKey()
|
||||
|
||||
class UserTaggedObject(models.Model):
|
||||
object_tag = models.ForeignKey(TaggedObject)
|
||||
|
||||
class ArticleAttachment(models.Model):
|
||||
tags = generic.GenericRelation(TaggedObject)
|
||||
user_tags = generic.GenericRelation(UserTaggedObject)
|
||||
|
||||
model_errors = """invalid_models.fielderrors: "charfield": CharFields require a "max_length" attribute that is a positive integer.
|
||||
invalid_models.fielderrors: "charfield2": CharFields require a "max_length" attribute that is a positive integer.
|
||||
|
@ -324,4 +339,5 @@ invalid_models.nonuniquefktarget2: Field 'bad' under model 'FKTarget' must have
|
|||
invalid_models.nonexistingorderingwithsingleunderscore: "ordering" refers to "does_not_exist", a field that doesn't exist.
|
||||
invalid_models.invalidsetnull: 'fk' specifies on_delete=SET_NULL, but cannot be null.
|
||||
invalid_models.invalidsetdefault: 'fk' specifies on_delete=SET_DEFAULT, but has no default value.
|
||||
invalid_models.articleattachment: Model 'UserTaggedObject' must have a GenericForeignKey in order to create a GenericRelation that points to it.
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue