首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django中实现MySQL year类型映射

在django中实现MySQL year类型映射
EN

Stack Overflow用户
提问于 2013-03-17 00:16:11
回答 1查看 224关注 0票数 1

MySQL中有一个year数据类型,而django ORM中没有对应的数据字段类型。我可以提供一个自定义字段类来映射特定RDBMS的数据类型吗?如果是这样,我如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-17 01:56:34

我设法找到了以下满足我需求的解决方案(models.py):

代码语言:javascript
复制
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

然后在模型中使用列数据类型:

代码语言:javascript
复制
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.name
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15451543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档