假设我有一个模型:
class SomeModel(models.Model):
id = models.AutoField(primary_key=True)
a = models.IntegerField(max_length=10)
b = models.CharField(max_length=7)
目前我正在使用默认管理员来创建/编辑此类型的对象。如何将字段'a'设置为与id相同的数字? (缺省值= ???)
其他问题
假设我有一个模型:
event_date = models.DateTimeField( null=True)
year = models.IntegerField( null=True)
month = models.CharField(max_length=50, null=True)
day = models.IntegerField( null=True)
如何将默认情况下的年,月和日字段设置为与event_date字段相同?
答案 0 :(得分:1)
您可以覆盖save()
方法,如果此时a
仍然为空/空,请复制id
字段。第二个问题也是如此。
答案 1 :(得分:0)
它必须是存储在数据库中的字段吗? (冗余是坏yaddayadda)
如果你只是想从python中调用它,请使用:
event_date = models.DateTimeField( null=True)
@property
def year(self):
return self.event_date and self.event_date.strftime("%Y") or None