Python 无法创建Django模型的实例
我正在尝试创建此报表模型的实例:Python 无法创建Django模型的实例,python,django,python-3.x,postgresql,django-2.1,Python,Django,Python 3.x,Postgresql,Django 2.1,我正在尝试创建此报表模型的实例: class Report(models.Model): """ A model for storing credit reports pulled from Equifax. """ user = models.ForeignKey(to=CustomUserModel, on_delete=models.CASCADE, help_text='User report be
class Report(models.Model):
"""
A model for storing credit reports pulled from Equifax.
"""
user = models.ForeignKey(to=CustomUserModel, on_delete=models.CASCADE,
help_text='User report belongs to.')
timestamp = models.DateTimeField(default=timezone.now)
report = JSONField()
但是,无论何时尝试,都会出现以下错误:
Exception Type: TypeError at /internal/report
Exception Value: 'report' is an invalid keyword argument for this function
无论是使用Report().save()
方法还是Report.object.create()
方法实例化实例,都会发生这种情况,如下所示:
report_obj = Report.objects.create(
user=user,
report=report
)
有人知道发生了什么事吗?该类显然有一个“report”属性,那么为什么会出现错误呢
谢谢 根据错误和: (…)看起来像是我从DRF导入了表单字段,而不是从Django导入了同名的模型字段(…) 您没有导入模型字段,而是导入其他字段(例如表单字段,或者这里是DRF字段)。因此,Django不认为<代码>报表<代码>是您的代码>报告< /C>模块的一个字段,它将其视为“香草”Python属性。< /P> 因此,您应该确保
JSONField
链接到模型字段类。添加此类字段可能会导致另一次迁移,以将该字段添加到数据库表中:
from django.contrib.postgres.fields import JSONField
class Report(models.Model):
"""
A model for storing credit reports pulled from Equifax.
"""
user = models.ForeignKey(to=CustomUserModel, on_delete=models.CASCADE,
help_text='User report belongs to.')
timestamp = models.DateTimeField(default=timezone.now)
report = JSONField()
从django.contrib.postgres.fields导入JSONField
课堂报告(models.Model):
"""
存储从Equifax提取的信用报告的模型。
"""
user=models.ForeignKey(to=CustomUserModel,on_delete=models.CASCADE,
help_text='User report属于')
timestamp=models.DateTimeField(默认值=timezone.now)
report=JSONField()
这里的JSONField
来自哪里?这是一个模型场吗?还是一个表单字段?@WillemVanOnsem好吧,操我。看起来我从DRF导入了表单字段,而不是从Django导入了同名的模型字段。如果你想把它作为一个答案,我会给你信用。