我对Python和Django很陌生。我正在建立一个新的模型类,并且能够在管理页面上添加约会,但这是奇怪的事情:
我曾经有一个DateTimeFiled,我将其更改为单独的DateField和TimeField。但是现在我既看不到DateField,也看不到TimeField。为什么会这样,我不明白。我已经完成了迁移,一切看起来都很好。
这是我的模型课:
class Appointment(models.Model):
patient = models.ForeignKey(User, related_name="appointment_patient", on_delete=False)
date = models.DateField(auto_now=True)
start_time = models.TimeField(auto_now=True)
duration = models.DurationField(default=timedelta(minutes=30))
在进行此更改之前,每个属性都正确显示,但是现在发生了:
答案 0 :(得分:2)
auto_now
会自动用timezone.now()
更新,并且该对象不可编辑。因此,没有必要在模板中显示它们。这就是为什么adminsite忽略此字段或不显示它的原因。有关更多详细信息,请参见Dataset JavaDoc。如果要显示此字段,请添加它readonly_fields
。例如:
class YourModelAdmin(admin.ModelAdmin):
readonly_fields=('start_time',)
如果要将默认值添加到DateField,请尝试如下操作:
import datetime
# in models
state_date = models.DateField(default=datetime.date.today) # without parenthesis