use*_*282 6 django django-south
我被困在如何在我的模型中做出几个小时的选择感到困惑.
到目前为止,我在模型中的批准字段一直存在问题.我希望被批准为3种选择中的1种,但我看来得到的是所有三种选择的元组.在'./manage.py shell'中,我明白了
>>> listing.objects.all()[0].approved
((u'1', u'Awaiting'), (u'2', u'No'), (u'3', u'Yes'))
Run Code Online (Sandbox Code Playgroud)
我的型号:
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'),
)
Run Code Online (Sandbox Code Playgroud)
另外一个问题:但每当我进行模型更改并尝试使用South迁移模式时,我的命令行将冻结,并且永远不会完成迁移模式.为什么冻结的任何可能的建议?它可以检测到变化,但不会完成它们的实现.因为它永远不会完成,所以当我点击模型进行更改时,我无法通过管理面板访问我的模型,我永远无法加载页面.
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)
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 19
approved因为你不是一个字段,它只是一个包含三个选项的类属性.选项必须是实际字段的属性:
APPROVAL_CHOICES = (
(u'1', u'Awaiting'),
(u'2', u'No'),
(u'3', u'Yes'),
)
approved = models.CharField(max_length=1, choices=APPROVAL_CHOICES)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19553 次 |
| 最近记录: |