MySQL中有一个year数据类型,而django ORM中没有对应的数据字段类型。我可以提供一个自定义字段类来映射特定RDBMS的数据类型吗?如果是这样,我如何做到这一点?
发布于 2013-03-17 01:56:34
我设法找到了以下满足我需求的解决方案(models.py):
from django.core.exceptions import FieldError
class YearField(models.Field):
def db_type(self, connection):
if connection.settings_dict['ENGINE'] == 'django.db.backends.mysql':
return 'year'
else:
raise FieldError然后在模型中使用列数据类型:
class Band(models.Model):
"""Music band"""
class Meta:
db_table = 'band'
name = models.CharField(max_length=64)
active_since = YearField()
active_until = YearField(null=True)
genres = models.ManyToManyField(Genre)
def __unicode__(self):
return self.namehttps://stackoverflow.com/questions/15451543
复制相似问题