一个模型的两个外键字段作为管理中的内联

时间:2021-03-29 14:17:41

标签: django

我有一位艺术家,他有主要联系人和次要联系人。我想从艺术家管理员添加这两个联系人。但现在这两个领域正在发生冲突。有任何想法吗?提前谢谢。

class Contact(models.Model):
    full_name = models.CharField('Full name', max_length=255)
    email = models.EmailField()
    phone = models.CharField('Phonenumber', max_length=255)
class Artist(models.Model):
    name = models.CharField('Name', max_length=255)
    country = models.CharField(choices=COUNTRIES, max_length=32)
    contact_1 = models.ForeignKey(Contact, related_name = '+', on_delete=models.CASCADE)
    contact_2 = models.ForeignKey(Contact, related_name = '+', on_delete=models.CASCADE)
class Contactline(admin.TabularInline):
    model = Contact

class ArtistAdmin(admin.ModelAdmin):
    inlines = [ContactInline]

1 个答案:

答案 0 :(得分:0)

当您遇到此类不便时,文档非常清楚,但我建议修改您的模型并在两个模型之间建立多对多关系,因为艺术家可以有多个联系人,而不仅仅是 2 个联系人,并且联系人不是每个人都独有的艺术家。

https://docs.djangoproject.com/en/3.1/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.fk_name

相关问题