Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 日期字段和时间字段don';添加到模型类后,不会出现_Python_Django_Django Models - Fatal编程技术网

Python 日期字段和时间字段don';添加到模型类后,不会出现

Python 日期字段和时间字段don';添加到模型类后,不会出现,python,django,django-models,Python,Django,Django Models,我对Python和Django很陌生。我正在设置一个新的模型类,可以在管理页面上添加约会,但奇怪的是: 我以前有一个DateTimeFiled,我把它改为一个单独的DateField和一个TimeField。但现在我既看不到日期字段,也看不到时间字段。为什么,我不明白。我已经完成了迁移,看起来一切正常 这是我的模型课: class Appointment(models.Model): patient = models.ForeignKey(User, related_name="appo

我对Python和Django很陌生。我正在设置一个新的模型类,可以在管理页面上添加约会,但奇怪的是:

我以前有一个DateTimeFiled,我把它改为一个单独的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))
在我做出这一改变之前,所有财产都是正确的,但现在发生了这样的情况:


auto\u now
在保存模型对象时,会自动更新为
时区。now()
。因此,没有必要在模板中显示它们。这就是为什么adminsite忽略或不显示此字段的原因。有关更多详细信息,请参阅。如果要显示此字段,请将其添加到只读字段中。例如:

class YourModelAdmin(admin.ModelAdmin):
    readonly_fields=('start_time',)
更新 如果要向DateField添加默认值,请尝试以下操作:

 import datetime

 # in models
 state_date = models.DateField(default=datetime.date.today)  # without parenthesis 

auto\u now
在保存模型对象时,自动更新为
时区。now()
。因此,没有必要在模板中显示它们。这就是为什么adminsite忽略或不显示此字段的原因。有关更多详细信息,请参阅。如果要显示此字段,请将其添加到只读字段中。例如:

class YourModelAdmin(admin.ModelAdmin):
    readonly_fields=('start_time',)
更新 如果要向DateField添加默认值,请尝试以下操作:

 import datetime

 # in models
 state_date = models.DateField(default=datetime.date.today)  # without parenthesis 

检查。这是因为您现在在字段中设置了
auto\u
。请检查。这是因为您现在在字段中设置了
auto\u
。哦,我明白了,这是有道理的。我以前尝试过使用默认值,但遇到了问题,然后我就这样尝试了。无论如何,它不应该是只读的。我用一个默认值重试了它,但我不知道如何设置它。有多种解释不起作用(可能是Python 2)。我在文档中看到了这一行,如果没有导入部分,我将无法使用这一行:
For DateField:default=date.today-from datetime.date.today()
。我不懂进口部分。这不是导入语法?!?什么是import语句使得
date.today
可以工作?它应该是
state\u date=models.DateField(默认值=datetime.date.today)
这个Python语法真让我受不了!都不起作用,不是
default=date.today
也不是
default=datetime.date.today
。在第一种情况下,PyCharm已经抱怨,在后一种情况下,迁移失败:
AttributeError:'method\u descriptor'对象没有“today”属性。
@dand我不面临这个问题。我仅导入
datetime
。请看我的答案的更新部分,就是这样,现在它工作了。为什么呢?不过还是要谢谢你!哦,我明白了,这是有道理的。我以前尝试过使用默认值,但遇到了问题,然后我就这样尝试了。无论如何,它不应该是只读的。我用一个默认值重试了它,但我不知道如何设置它。有多种解释不起作用(可能是Python 2)。我在文档中看到了这一行,如果没有导入部分,我将无法使用这一行:
For DateField:default=date.today-from datetime.date.today()
。我不懂进口部分。这不是导入语法?!?什么是import语句使得
date.today
可以工作?它应该是
state\u date=models.DateField(默认值=datetime.date.today)
这个Python语法真让我受不了!都不起作用,不是
default=date.today
也不是
default=datetime.date.today
。在第一种情况下,PyCharm已经抱怨,在后一种情况下,迁移失败:
AttributeError:'method\u descriptor'对象没有“today”属性。
@dand我不面临这个问题。我仅导入
datetime
。请看我的答案的更新部分,就是这样,现在它工作了。为什么呢?不过还是要谢谢你!