सेप्पो के समाधान पर निर्माण (जो कनेक्शन की कमी के कारण django 1.9.4 के लिए काम नहीं करता था)।
from django.db import models
class ZeroDateTimeField(models.DateTimeField):
def get_db_prep_value(self, value, connection, prepared=False):
value = super( ZeroDateTimeField, self ).get_db_prep_value( value, connection, prepared )
if value is None:
return "0000-00-00 00:00:00"
return value
तो बस अपने मॉडल में DateTimeField के बजाय ZeroDateTimeField का उपयोग करें।
एक आकर्षण की तरह काम करता है और मुझे ग्राहक को उसके mysql db को ठीक करने के लिए कहना पड़ा;-)
संपादित करें:मैंने स्वचालित रूप से जेनरेट किए गए मॉडल के उपयोग को आसान बनाने के लिए शून्य =सही और रिक्त =सही सेट करने के लिए ओवरराइडिंग कन्स्ट्रक्टर को समाप्त कर दिया। चूंकि यह कुछ के लिए उपयोगी हो सकता है, यह यहाँ है (यह वैकल्पिक और संदिग्ध है):
def __init__(self, verbose_name=None, name=None, auto_now=False, auto_now_add=False, **kwargs):
kwargs['null'] = True
kwargs['blank'] = True
super( ZeroDateTimeField, self ).__init__(verbose_name, name, auto_now, auto_now_add, **kwargs)