2016-10-12 2 views
3

Я пытаюсь создать прибор JSON для одной из моих моделей Django.Как предоставить текущее время DateTimeFields в устройствах Django?

модель довольно проста:

class Tag(models.Model): 
    tag = models.CharField(max_length=50, null=True, blank=True) 
    created_at = models.DateTimeField(auto_now_add=True) 

Мой светильник также прост:

[ 
    { 
    "model": "myapp.tag", 
    "pk": 1, 
    "fields": { 
     "tag": "Test 1" 
    } 
    }, 
{ 
    "model": "myapp.tag", 
    "pk": 2, 
    "fields": { 
     "tag": "Test 2" 
    } 
    } 
] 

К сожалению, я получаю следующее сообщение об ошибке при попытке запустить прибор:

IntegrityError: NOT NULL constraint failed: myapp_tag.created_at 

Таким образом, похоже, что auto_now_add=True не вызывается при запуске прибора. Я не хочу жестко указывать дату, поскольку это кажется странным. (Я также считаю, что hardcoding PK является странным.)

Есть ли способ получить дату created_at для автоматического использования сегодня?

И как бонус, может ли ПК автоматически автоматически увеличиваться?

Благодарим за помощь.

+0

Вы пытаетесь вставить с помощью django orm? –

+0

Спасибо за ваш ответ. Я делаю ввод через 'python3 manage.py loaddata tags.json' –

ответ

0

auto_now_add=True будет работать только в том случае, если вы django вставляете запись в DB, ​​иначе это не будет работать.

Чтобы заставить его работать, напишите простой скрипт python и обновите json-файл с текущим временем datetime и попробуйте эту команду для загрузки данных в DB.

Смежные вопросы