簡體   English   中英

如何在模型表格中使用父模型字段?

[英]How to use parents model fields in the model form?

我使用django 1.9,並具有一些模型繼承,例如:

class TimeStampedModel(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True

之后,我使用該模型將createdmodified模型添加到我的模型中。 但是我不能在表單中使用此字段。 例如:

class Customer(TimeStampedModel):
    first_name = models.CharField(max_length=250, blank=True,
                                  null=True, default=None)
    last_name = models.CharField(max_length=250, blank=True,
                                 null=True, default=None)

以及表單代碼:

class CustomerForm(forms.ModelForm):
    class Meta:
         model = Customer
         fields = ('first_name', 'last_name', 'modified')
         readonly_fields = ('modified', )

我得到一個錯誤:

django.core.exceptions.FieldError: Unknown field(s) (modified) specified for ...

如何將該字段添加到表單? 我在數據庫架構中有它,但Django形式沒有得到它。

當您調用Model.save()時, auto_now=True字段將自動更新。 有關更多詳細信息, 參見https://docs.djangoproject.com/zh-CN/1.11/ref/models/fields/#datefield auto_now =無法從ModelForm訪問真正的字段,按照目前的實現,將auto_now或auto_now_add設置為True會導致字段具有editable = False和blank = True設置。

由於您使用的是1.9,因此發生的問題已從1.10更改為

這樣您就可以更新Django版本,以便可以使用它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM