在Django Admin中管理ForeignKey关系

时间:2019-08-08 08:38:46

标签: django-models django-admin

我正在使用django创建库存管理系统。 store 零售商 有两种模型。每个 零售商 只能在一个 商店 中工作,但是每个 商店 可以有许多 零售商

因此,在我的 零售商 模型中, store ForeignKey 。我已经在django admin中注册了模型。当我添加零售商时,我可以选择一家商店。 添加商店时,我希望能够在添加商店的同一页面上将零售商添加到商店。

class Retailer(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)
    phone_number = models.IntegerField(default=00000000000)
    store = models.ForeignKey(Store,null=True,on_delete=models.CASCADE)

class Store(models.Model):
    name = models.CharField(max_length=200)
    serial = models.CharField(max_length=200)
    number_of_visitors = models.IntegerField(default=0)

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

它称为内联模型:

https://books.agiliq.com/projects/django-admin-cookbook/en/latest/edit_multiple_models.html https://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects

您可以找到很多有关的资料

但是您需要这样的东西: 在您的admin.py上

#Create a class for inline display:
class RetailerINLINE(admin.TabularInline): #or stacked inline
    model = Retailer
    extra = 1


class StoreAdmin(admin.ModelAdmin):
    .....
    inlines = RetailerINLINE,
相关问题