django - AttributeError:模块“student.models”没有属性“ManyToManyField”
问题描述
我正在使用以下型号:
模型.py
class Student(models.Model):
name = models.CharField(max_length = 200)
country = models.ManyToManyField(Country, null = True,blank=True)
class Country(models.Model):
title = models.CharField(max_length = 100, null = True)
def __str__(self):
return self.title
管理员.py
@admin.register(models.Student)
class StudentAdmin(admin.ModelAdmin):
formfield_overrides = {
models.ManyToManyField: {'widget': CheckboxSelectMultiple},
}
我收到此错误:
AttributeError: module 'student.models' has no attribute 'ManyToManyField'
解决方案
看起来您正在尝试使用models.ManyToManyField
from student.models
,而应该使用django.db.models
.
尝试将此导入添加到文件顶部:
from django.db import models
如果名称与您的 冲突student.models
,您可以将其重命名为:
from django.db import models as django_models
# then to use you would need to change your code to this:
django_models.ManyToManyField()