DateField и TimeField не появляются после добавления в класс модели - PullRequest
0 голосов
/ 22 ноября 2018

Я довольно новичок в 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))

До того, как я сделал это изменение, все свойства были правильными, но теперь это происходит:

enter image description here

1 Ответ

0 голосов
/ 22 ноября 2018

auto_now автоматически обновляется с помощью timezone.now() всякий раз, когда объект модели сохраняется, и его нельзя редактировать.Поэтому нет необходимости отображать их в шаблоне.Вот почему adminsite пропускает это поле или не показывает его.Пожалуйста, смотрите документацию для более подробной информации.Если вы хотите отобразить это поле, добавьте его 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 
...