class Meal(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
collection_from = models.DateTimeField(blank=False, null=False)
discount_price = models.DecimalField(blank=False, null=False, decimal_places=2, max_digits=4)
normal_price = models.DecimalField(blank=True, null=True, decimal_places=2, max_digits=4)
available_count = models.IntegerField(blank=False, null=False)
name = models.CharField(blank=False, null=False, max_length=255)
active = models.BooleanField(blank=False, null=False, default=True)
現在,當我保存它的情況下,created_at
和updated_at
值的設置是否正確,如:2016-08-21 13:13:57.585472+02
。 collection_from
的價值應該幾乎與前兩個相同,但它已被設置爲指向第二天,例如:2016-08-22 01:00:00+02
,我根本不明白:)。值爲collection_from
的值看起來像由瀏覽器發送時的值:2016-08-21 23:00
。我相信我有正確的設置來設置的int settings.py
文件:
TIME_ZONE = 'UTC'
USE_TZ = True
所以這裏有什麼問題嗎?如何讓Django保存collection_from
的價值與created_at
或updated_at
相同?
編輯:
我注意到,當檢索到該模型的價值觀,我得到正確的 - 所以,如果我collection_from
字段的值等於2016-08-22 01:00:00+02
在數據庫中,在輸出它的被轉換成初始值是什麼,所以2016-08-21 23:00
。所以現在這個問題發生了變化 - 爲什麼created_at
和updated_at
字段和這個字段之間的區別?
EDIT2:
我不認爲這將是必要的(跟我描述不夠好,我是如何提供collection_from
值),但這裏的POST請求體:
[{"collection_from":"2016-08-21 23:00","discount_price"
:"10","normal_price":"20","available_count":"4","name":"pizza"}]
而且在DRF視圖保存它:
class MealsCrudView(CreateAPIView):
serializer_class = MealSerializer
和串行:
class MealSerializer(serializers.ModelSerializer):
class Meta:
model = Meal
如何將值保存在'collection_from'中。請在完整的代碼中顯示所有使用'collection_from'的地方。 –
我沒有任何特殊的代碼。 Django處理保存。 –
'collection_from'沒有'auto_now_add'或'auto_now'這意味着您必須爲該字段提供一個值 - 它不能自動填充。您需要向我們展示創建對象實例並分配此值的代碼。 – solarissmoke