首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django模型选择

Django模型选择
EN

Stack Overflow用户
提问于 2012-12-25 05:13:17
回答 1查看 21.5K关注 0票数 6

几个小时以来,我一直被如何在我的模型中做出选择弄糊涂了。

到目前为止,我在模型中批准的字段一直存在问题。我希望被批准为三个选项中的一个,但我得到的似乎是所有三个选项的元组。在'./manage.py shell‘中,我得到

代码语言:javascript
复制
>>> listing.objects.all()[0].approved
((u'1', u'Awaiting'), (u'2', u'No'), (u'3', u'Yes'))

我的模型:

代码语言:javascript
复制
from django.db import models

# Create your models here.
class directory(models.Model):
    name = models.CharField(max_length="50")

class listing(models.Model):
    name = models.CharField(max_length="50")
    directory = models.ForeignKey(directory)
    birthday = models.DateField()
    state = models.CharField(max_length="2") 
    owner = models.CharField(max_length="50")
    approved = (
        (u'1', u'Awaiting'),
        (u'2', u'No'),
        (u'3', u'Yes'),
    )

另一个附带问题:但是每当我进行模型更改并尝试使用South迁移模式时,我的命令行就会冻结,并且永远不会完成模式迁移。对于它冻结的原因,有什么可能的建议吗?它可以检测到变化,但永远不会完成它们的实现。因为它永远不会完成,所以当我单击模型进行更改时,我不能再通过管理面板访问我的模型,我永远不能加载页面。

代码语言:javascript
复制
The order in which I run the commands are
    ./manage.py convert_to_south myapp
    ./manage.py schemamigration southtut --auto
    ./manage.py migrate southtut ( never progresses on this command after the first few lines appear)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-25 05:15:57

您所拥有的approved不是一个字段,它只是一个包含三个选项的类属性。选项必须是实际字段的属性:

代码语言:javascript
复制
APPROVAL_CHOICES = (
    (u'1', u'Awaiting'),
    (u'2', u'No'),
    (u'3', u'Yes'),
)
approved = models.CharField(max_length=1, choices=APPROVAL_CHOICES)
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14025733

复制
相关文章

相似问题

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