【发布时间】:2014-03-07 14:24:57
【问题描述】:
我是 django 的新手。 我的问题是:- 应用 syncdb 时出现错误(如下所述)
错误:一个或多个模型未验证:
我的模型.py
class practicalArea:
practical_area = models.CharField(max_length=25)
class Meta:
db_table = 'practical_area'
def __unicode__(self):
return self.practical_area
class Profile(models.Model):
auth_user_id = models.ForeignKey(User, related_name='userProfile')
address = models.TextField(blank=True)
state = models.CharField(max_length=20)
practical_area = models.ForeignKey('practicalArea', related_name='practical_Area')
company = models.CharField(max_length=40)
photo = models.CharField(max_length=250)
created_date = models.DateTimeField()
modify_date = models.DateTimeField()
class Meta:
db_table = 'adminPanal_profile'
def save(self):
if self.created_date == None:
self.created_date = datetime.now()
self.modify_date = datetime.now()
super(Profile, self).save()
如果我将“practical_area = models.ForeignKey('practicalArea',related_name='practical_Area')”更改为“practical_area = models.ForeignKey(practicalArea,related_name='practical_Area')”
然后我得到一个错误:
AssertionError: ForeignKey() 无效。 ForeignKey 的第一个参数必须是模型、模型名称或字符串 'self'
请帮忙!
【问题讨论】:
-
sorry:- 我也导入了
from django.db import models from django.contrib.auth.models import User from datetime import datetime的库 -
practicalArea 应该继承自models.Model。它应该可以解决您的问题。
-
感谢@KamilRykowski :)
标签: django django-models