#21705: Generic Relations fail to detect validation error appropritely -------------------------+------------------------------------------------- Reporter: | Owner: nobody mo_ttds@… | Status: new Type: Bug | Version: 1.6 Component: | Keywords: AdminSite, GenericRelation, contrib.admin | unique_together, IntegrityError Severity: Normal | Has patch: 0 Triage Stage: | UI/UX: 0 Unreviewed | Easy pickings: 0 | -------------------------+------------------------------------------------- Hi. When using a GenericRelation on a Model to create a M2M generic relation between two other models, with a '''unique_together''' attribute on the relation. admin site fails to detect '''uniqueness-validation''' and instead of reporting a unique violation validation error it raises an '''IntegrityError''' e.g. IntegrityError: columns tag_id, object_id are not unique
here is the case: {{{ class Tag(models.Model): slug = models.SlugField(max_length=100) def __unicode__(self): return self.slug class News(models.Model): title = models.CharField(max_length=100) def __unicode__(self): return self.title class Tagger(models.Model): class Meta: '''unique_together = ('tag', 'object_id')''' tag = models.ForeignKey(Tag) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() content_object = generic.GenericForeignKey() }}} and creating the admin objects like this: {{{ class TagAdmin(admin.ModelAdmin): list_display = ('slug',) class TabularTagInline(generic.GenericTabularInline): model = models.Tagger extra = 2 class NewsAdmin(admin.ModelAdmin): list_display = ('title', ) inlines = (TabularTagInline,) admin.site.register(Blog, BlogAdmin) admin.site.register(Tag, TagAdmin) }}} -- Ticket URL: <https://code.djangoproject.com/ticket/21705> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/062.2535472f4950d87e96da80da370c8591%40djangoproject.com. For more options, visit https://groups.google.com/groups/opt_out.