如何在继承模型的django迁移中使用默认管理器?
我有一个模型Baz,它继承自一个抽象模型栏,它也继承自另一个抽象模型Foo 从django.db导入模型 类BarManagermodels.Manager: 通过 类模型。模型: attr1=型号。CharFieldmax_长度=20 objects=models.Manager 类元: 抽象=真 巴福级: attr2=型号。CharFieldmax_长度=20 bar_对象=BarManager 类元: 抽象=真 分类栏: attr3=型号。CharFieldmax_长度=20 运行数据迁移时,我希望能够使用默认的manager Baz.objects: 由Django 3.0.7于2020-06-23 15:57生成 从django.db导入迁移 def update_forwardapps,模式编辑器: Baz=apps.get_model'migration_manager','Baz' Baz.objects.filteratr1='bar'.updateatr1='Baz' 类迁移迁移。迁移: 依赖项=[ “迁移管理器”、“0001\u首字母”, ] 操作=[ migrations.RunPythonupdate\u向前, ] 但它不可用,因为我得到:如何在继承模型的django迁移中使用默认管理器?,django,django-migrations,django-managers,Django,Django Migrations,Django Managers,我有一个模型Baz,它继承自一个抽象模型栏,它也继承自另一个抽象模型Foo 从django.db导入模型 类BarManagermodels.Manager: 通过 类模型。模型: attr1=型号。CharFieldmax_长度=20 objects=models.Manager 类元: 抽象=真 巴福级: attr2=型号。CharFieldmax_长度=20 bar_对象=BarManager 类元: 抽象=真 分类栏: attr3=型号。CharFieldmax_长度=20 运行数据迁移
File "/home/user/code/django_issues/migration_manager/migrations/0002_update_content.py", line 8, in update_forward
Baz.objects.filter(attr1='bar').update(attr1='baz')
AttributeError: type object 'Baz' has no attribute 'objects'
这是自动创建的初始迁移
# Generated by Django 3.0.7 on 2020-06-23 16:13
from django.db import migrations, models
import django.db.models.manager
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Baz',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('attr1', models.CharField(max_length=20)),
('attr2', models.CharField(max_length=20)),
('attr3', models.CharField(max_length=20)),
],
options={
'abstract': False,
},
managers=[
('bar_objects', django.db.models.manager.Manager()),
],
),
]
其中有一个managers部分,它显式地只提供父对象的自定义模型
有没有人知道是我做错了什么,还是django出了问题
我在:
ubuntu 19.10
python 3.8.2
django 3.0.7
提前感谢用作
Baz._default_manager