#10769 closed (duplicate)
IntegrityError with generic relations, unique_together, and inline admin forms
Reported by: | rutt | Owned by: | nobody |
---|---|---|---|
Component: | contrib.admin | Version: | 1.1-beta |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Using the models and admin below, create a new GenericAttachment object using the inline form on the Parent change page. Then create another one with the same slug. The result is an IntegrityError where "columns content_type_id, object_id, slug are not unique". This works fine for Attachment objects.
Models:
class Parent(models.Model): name = models.CharField(max_length=200) class Attachment(models.Model): name = models.CharField(max_length=200) parent = models.ForeignKey(Parent) slug = models.SlugField() class Meta: unique_together = ['parent', 'slug'] class GenericAttachment(models.Model): name = models.CharField(max_length=200) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() parent = generic.GenericForeignKey() slug = models.SlugField() class Meta: unique_together = ['content_type', 'object_id', 'slug']
Admin:
class GenericAttachmentInline(generic.GenericTabularInline): model = GenericAttachment class ParentAdmin(admin.ModelAdmin): inlines = [AttachmentInline, GenericAttachmentInline] admin.site.register(Attachment, admin.ModelAdmin) admin.site.register(GenericAttachment, admin.ModelAdmin) admin.site.register(Parent, ParentAdmin)
Change History (4)
comment:1 by , 16 years ago
Component: | Uncategorized → django.contrib.admin |
---|
comment:2 by , 16 years ago
Note:
See TracTickets
for help on using tickets.
See also #10770