2
我有這樣的遷移:Django - ValueError:ModelState.fields無法引用模型類 - 「tags.to」。使用字符串引用,而不是
# encoding: utf8
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('main', '0013_post_tags'),
]
operations = [
migrations.AddField(
model_name='guidauser',
name='avatar',
field=models.ImageField(null=True, upload_to=''),
preserve_default=True,
),
]
它使用Django 1.7.9完美。但是現在我已經將項目升級到了Django 1.9。如果我嘗試將它部署到(本地), 'manage.py遷移' 原因的錯誤:
但是,它的工作原理和Django 1.8.8
models.py:
class GuidaUser(User):
GENDER_MALE = 'male'
GENDER_FEMALE = 'female'
GENDER_CHOICES = (
(GENDER_MALE, 'Чоловіча'),
(GENDER_FEMALE, 'Жіноча'),
)
about_yourself = models.TextField(max_length=150, blank=True)
contacts = models.ForeignKey(GuidaUserContacts, blank=True, null=True, related_name='contacts')
avatar = models.ImageField(upload_to='avatars', null=True, blank=True)
gender = models.CharField(choices=GENDER_CHOICES, default=GENDER_MALE, blank=True, max_length=10)
birthday = models.DateField(null=True, blank=True)
#work = models.CharField(max_length=50)
ip_register = models.GenericIPAddressField(blank=True, null=True, unique=True, default=None)
has_username = models.BooleanField(default=True)
objects = UserManager()
,似乎,這個錯誤是與以前的遷移有關(但Django的應用它),所以這裏是:
class Migration(migrations.Migration):
dependencies = [
('main', '0012_auto_20140721_1650'),
('taggit', '__first__'),
]
operations = [
migrations.AddField(
model_name='post',
name='tags',
field=taggit.managers.TaggableManager(to=taggit.models.Tag, through=taggit.models.TaggedItem, help_text='A comma-separated list of tags.', verbose_name='Tags'),
preserve_default=True,
),
]
那麼,如何解決它?
我正在使用Django 1.8.x和1.9將很快通過。你會把這段代碼包含在_models.py_中嗎? –
@JavierClavero我編輯了問題.. –
我一直在仔細觀察。在存儲庫Django中,這個錯誤在這裏表示,看看它是否清除了某些東西或其他人可以提供幫助。 (https://github.com/django/django/blob/master/django/db/migrations/state.py#L375) –