dav*_*ang 5 django django-models django-1.8
这是我的模特.
Poll(models.Model):
title = models.CharField(max_length=1024)
MY_VAR = ['my_class_level_attribute'] # I want to access this
Run Code Online (Sandbox Code Playgroud)
这是我的数据迁移:
def my_func(apps, schema_editor):
Poll = apps.get_model('my_app', 'Poll')
print Poll.MY_VAR
class Migration(migrations.Migration):
dependencies = [
('webmerge', '0012_previous_migration'),
]
operations = [
migrations.RunPython(my_func)
]
Run Code Online (Sandbox Code Playgroud)
该行print Poll.MY_VAR给出了属性错误.我认为问题可能在于如何get_model在数据迁移中执行,因为以下行在Django shell中成功:
In [2]: from django.apps import apps
In [3]: Poll = apps.get_model('my_app', 'Poll')
In [4]: Poll.MY_VAR
Out[4]: ['my_class_level_attribute']
Run Code Online (Sandbox Code Playgroud)
您应该能够导入模型
from my_app.models import Poll
Run Code Online (Sandbox Code Playgroud)
如果您这样做,则不应删除Poll模型或MY_VAR属性,否则您的迁移将停止工作。