python - Django 2.0.2 创建模型时出现问题:AttributeError: 'str' object has no attribute '_default_manager'
问题描述
使用 Django 2.0.2
class Rischi(models.Model):
RISCHIO = (
('Nullo', 'Nullo'),
('Irrilevante', 'Irrilevante'),
('Basso', 'Basso'),
('Medio', 'Medio'),
('Alto', 'Alto'),
)
azienda = models.ForeignKey(
'azienda.Azienda',
on_delete=models.CASCADE,
)
foto = models.ImageField(upload_to='rischi', blank=True)
attivita = models.ForeignKey(
Attivita,
blank=True,
null=True,
on_delete=models.CASCADE,
)
luogo = models.ForeignKey(
Luoghi,
blank=True,
null=True,
on_delete=models.CASCADE,
)
macchina = models.ForeignKey(
Macchine,
blank=True,
null=True,
on_delete=models.CASCADE,
)
sostanza = models.ForeignKey(
Sostanze,
blank=True,
null=True,
on_delete=models.CASCADE,
)
fonte_rischio = models.ForeignKey(
Fonte_rischio,
on_delete=models.CASCADE
)
pericolo = models.CharField(max_length=200)
mansione = models.ManyToManyField(
'mansione.Mansione'
)
livello_rischio = models.CharField(max_length=200)
rischio = models.CharField(max_length=200, choices=RISCHIO)
allegato = models.ManyToManyField(
Allegati,
blank=True,
)
note = models.TextField(blank=True)
data_di_creazione = models.DateField(auto_now_add=True)
data_di_modifica = models.DateField(auto_now=True)
def __str__(self):
return self.fonte_rischio.nome + ", id: "+ str(self.pk)
这是相关的表格
class RischiForm(ModelForm):
class Meta:
model = Rischi
exclude = ['azienda']
当我执行 runserver 这是我收到的消息
AttributeError:“str”对象没有属性“_default_manager”
但是当我设置不包括豪宅的表格时
class RischiForm(ModelForm):
class Meta:
model = Rischi
exclude = ['azienda', 'mansione']
一切都好
我试图阅读手册并用谷歌搜索了这条消息,但我没有找到任何关于这个问题的答案......
解决方案
听起来 mainsione.Mansione 不是模型,而是str
- 字符串对象。Django 尝试在这个模型上查找默认管理器,该管理器将是一个_default_manager
属性(它是由 Django 自动创建的),但字符串对象不会有这样的属性。
推荐阅读
- python - 使用来自另一个数据帧的信息迭代数据帧
- python - 如何腌制多个熊猫数据框并在单个命令中连接所有数据框
- php - 未显示实时搜索结果
- reactjs - 对于带有输入元素的 React 组件,事件没有被触发
- python - 有什么方法可以为二进制分类特征数据制作散点图?
- javascript - 多个画布上的动画贝塞尔曲线
- pyqt5 - 我想在 Travis-ci 上安装 pyqt5(Python 3.4),但它不起作用
- javascript - 如何用for中的ajax替换html(id)
- c++ - 渴望加载整个模型以估计 Tensorflow Serving 的内存消耗
- regex - 用于查找带有字符和数字的字符串的正则表达式