В модели Django, как сохранить DateTime для двух разных часовых поясов одновременно при сохранении одного поля с параметром auto_now_add = True? - PullRequest
0 голосов
/ 21 июня 2019

У меня есть модель Django, которая имеет поле DateTime с автоматическим сохранением времени. Я хочу добавить другое поле DateTime для другого часового пояса, разница во времени с предыдущим полем DateTime является точной разницей во времени между двумя часовыми поясами.

Вот как я это сделал. Я думаю, что должен быть лучший способ сделать это. Это Джанго, верно?

class IcecreamManager(models.Manager):
    def create_icecream(self, name=None, qty=None):
        icecream = self.create(name=name, qty=qty)
        icecream.create_date_kr = icecream.create_date + datetime.timedelta(hours=9)
        icecream.save()
        return iceream

class Icecream(models.Model):
    name = models.CharField(max_length=100)
    qty = models.IntegerField(default=0)
    create_date = models.DateTimeField(auto_now_add=True)
    create_date_kr = models.DateTimeField(null=True)

    objects = BuyFourManager()

>>> Icecream.objects.create_icecream(name='Vanila', qty=3)

1 Ответ

0 голосов
/ 21 июня 2019

вы можете попробовать следующее решение, установив параметр по умолчанию

import datetime
import pytz
class Icecream(models.Model):
    name = models.CharField(max_length=100)
    qty = models.IntegerField(default=0)
    create_date = models.DateTimeField(auto_now_add=True)
    create_date_kr = models.DateTimeField(default=timezone.now+datetime.timedelta(hours=9))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...