假设我有以下模型:
class Book(models.Model):
due_back = models.DateField(null=True, blank=True)
AVAILABILITY = (
('a', 'Available'),
('o', 'On loan'),
('n', 'Not available'),
('r', 'Reserved'),
)
status = models.CharField(choices=AVAILABILITY, blank=True)
我的问题是 due_back 和 status 这两个字段相互依赖。例如,如果这本书是“借出的”,那么设置到期日期就没有意义。
目标是如果这本书是“借出的”,那么这本书可能只有一个 due_back 日期。但是如何做到这一点,是否有针对此类问题的“最佳实践”?
请您参考如下方法:
我正在尝试回答我自己的问题。我进一步查看了 Django 文档,看起来 Model.clean() 方法是这里的解决方案。
https://docs.djangoproject.com/en/1.11/ref/models/instances/#django.db.models.Model.clean
如果有人知道更好的解决方案,请发布。 :)
