【发布时间】:2014-01-29 11:02:01
【问题描述】:
当我尝试迁移我的代码时,我收到了这个错误。 这是我的代码和类:
from django.db import models
from core.models import Event
class TicketType(models.Model):
name = models.CharField(max_length=45)
price = models.DecimalField(max_length=2, decimal_places=2, max_digits=2)
type = models.CharField(max_length=45)
amount = models.IntegerField()
event = models.ForeignKey(Event)
class Meta:
app_label = "core"
import datetime
from django.core.serializers import json
from django.db import models
from core.models import User
class Event(models.Model):
page_attribute = models.TextField()
name = models.TextField(max_length=128 , default="New Event")
description = models.TextField(default="")
type = models.TextField(max_length=16)
age_limit = models.IntegerField(default=0)
end_date = models.DateTimeField(default=datetime.datetime.now())
start_date = models.DateTimeField(default=datetime.datetime.now())
is_active = models.BooleanField(default=False)
user = models.ForeignKey(User)
ticket_type=models.ForeignKey('core.models.ticket_type.TicketType')
class Meta:
app_label = "core"
这是我得到的错误:
CommandError:一个或多个模型未验证: core.event: 'ticket_type' 与模型 core.models.ticket_type.TicketType 有关系, 要么没有安装,要么是抽象的。
【问题讨论】:
-
您的
Event模型显示不完整;ticket_type字段以未终止的字符串结尾。那条线的其余部分在哪里? -
这些是在两个单独的文件中吗?如果有,为什么?
-
抱歉,我添加了该行的其余部分
-
是的,它们在单独的文件中,我试图将其分解以防止更大的 model.py
-
将
models.py拆分到不同的文件中并不是一个简单的过程,而创建不同的应用程序通常是一个更好的选择。看到这个答案:stackoverflow.com/a/1160607/276451 无论如何,一个有几百行的models.py并不算太大。
标签: python django-models foreign-keys