gpt4 book ai didi

python - Django相关模型未更新管理中的相关对象

转载 作者:行者123 更新时间:2023-12-02 11:18:08 26 4
gpt4 key购买 nike

我有两个看起来像这样的模型:

模型.py

class Client(models.Model):
deal = models.ManyToManyField('Deal', related_name="clients")

class Deal(models.Model):
client = models.ManyToManyField(Client, related_name="deals")

然后在管理员中,我内联了相关模型,以便无论您打开的对象类型如何,都可以轻松进行更改。

admin.py
class ClientInline(admin.TabularInline):
model = Deal.client.through

class DealAdmin(admin.ModelAdmin):
inlines = [ClientInline]

class DealInline(admin.TabularInline):
model = Client.deal.through

class ClientAdmin(admin.ModelAdmin):
inlines = [DealInline]

但是,如果您添加 ClientDeal然后打开 Client详情页,相应的交易没有出现。有什么我没有连接的吗?

最佳答案

我刚刚测试了这个,你实际上非常接近。

第一 , @wowkin2说,你不想定义一个 ManyToManyField在这两种模型中,所以我可能只是在您的 Deal 中定义它模型。

第二 ,替换这个:

class DealInline(admin.TabularInline):
model = Client.deal.through

有了这个:
class DealInline(admin.TabularInline):
model = Deal.client.through

一切都应该有效。

所以,这就是你的文件现在应该是这样的:

模型.py
class Deal(models.Model):
client = models.ManyToManyField(Client, related_name="deals")

admin.py
class ClientInline(admin.TabularInline):
model = Deal.client.through

class DealAdmin(admin.ModelAdmin):
inlines = [ClientInline]

class DealInline(admin.TabularInline):
model = Deal.client.through

class ClientAdmin(admin.ModelAdmin):
inlines = [DealInline]

关于python - Django相关模型未更新管理中的相关对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61283460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com