我有一个名为 Order 的模型,其中包含一个名为 start 的日期时间字段。我可以从该字段读取和写入该字段没有问题。
但是,我刚刚创建了一个 ModelForm 并将 start 指定为 Meta 中的字段之一 =() ,我得到:
Unknown field(s) (start) specified for Order
通过复制和粘贴字段名称,我确保它不是拼写错误。如果我删除该字段,它会起作用。
这是确切的 ModelForm
class OrderForm(ModelForm):
class Meta:
model = Order
fields = ('details', 'start', 'quantity', 'total')
编辑添加了更多细节:
我尝试使用 exclude = () 来排除除我需要的字段之外的所有字段,并且即使我不排除它,也不会出现在表单中。
这是模型:
class Order(MyModel):
user = models.ForeignKey(User, )
invoice = models.ForeignKey(Invoice, )
unit_price = models.DecimalField(max_digits=6, decimal_places=2, blank=True, null=True, )
subtotal = models.DecimalField(max_digits=6, decimal_places=2, blank=True, null =True, )
tax = models.DecimalField(max_digits=6, decimal_places=2, blank=True, null=True, )
misc = models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True, )
total = models.DecimalField(max_digits=6, decimal_places=2, blank=True, null=True, )
start = models.DateTimeField(auto_now_add=True, blank=True, null=True, )
end = models.DateTimeField(editable=True, blank=True, null=True, )
duration = models.PositiveSmallIntegerField(blank=True, null=True, )
quantity = models.PositiveSmallIntegerField(blank=True, null=True, )
notes = models.CharField(max_length=256, blank=True, null=True, )
details = models.CharField(max_length=64, blank=True, null=True, )
configured = models.BooleanField(default=False, )