gpt4 book ai didi

python - 自定义内联外键,不重复

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:13 24 4
gpt4 key购买 nike

我有这些模型:

模型.py

class Offer(BaseModel):
code = models.CharField(_("Codice Offerta"), max_length=16, blank=False, null=False, default=0, editable=False)
company = models.ForeignKey(Company, verbose_name=_('Azienda'), related_name='company')
outcome = models.CharField(_('Esito Offerta'), choices=OUTCOME, max_length=64, blank=True, null=True)
user = models.CharField(_("Inserita da"), max_length=64, blank=False, null=True)

class Product(BaseModel):
name = models.CharField(_("Nome Prodotto"),max_length=1024, blank = False, null=True)
category = models.CharField(_("Categoria"),max_length=1024, blank = False, null=True, choices=CATEGORY)

class ProductOfferDoc(BaseModel):
product = models.CharField(max_length=1024, blank=False,null=False, choices=DOC)
number = models.IntegerField(_('Num.'), default=0, blank=True, null=True)
price = models.DecimalField(_('Prezzo'),max_digits=10, decimal_places=2,default=0.00,blank=True, null=True )
offer = models.ForeignKey(Offer, related_name='related_doc')

admin.py
class DocAdmin(admin.StackedInline):
extra = 1
model = ProductOfferDoc

class OfferAdmin(admin.ModelAdmin):
model = Offer
list_display = ['code','company']
inlines = [
DocAdmin,
CourseAdmin,
RiskAdmin,
ServiceAdmin,
SanitaryAdmin,
]

当我创建报价时,我可以添加任意数量的 ProductOfferDoc正如我想要的,因为这是一个外键,但我不想允许插入相同的 ProductOfferDoc多次。我在哪里可以对表单进行这些控件?

最佳答案

您可以使用models.OneToOneField :

class ProductOfferDoc(BaseModel):
# ...
offer = models.OneToOneField(Offer, related_name='related_doc')

关于python - 自定义内联外键,不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22354061/

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