因此,我已经看到有关此错误的类似问题,它们似乎都与存在ManyToMany关系的用例有关。但是,即使我的模型没有M2M关系,我也遇到了这个问题,所以我想问一下为什么会这样。
这是我的模型:
class Course(models.Model):
name = models.CharField(max_length=64)
credit = models.IntegerField
notes = models.CharField(max_length=128)
resources = models.TextField
description = models.TextField
topic = models.CharField(max_length=128)
Run Code Online (Sandbox Code Playgroud)
每当我创建这个模型的一个新实例,我得到TypeError的credit,resources和description领域。
我将其实例化为:
c = Course(
name='some name',
credit='8',
notes='N/A',
resources='no resources',
description='N/A',
topic='some topic'
)
Run Code Online (Sandbox Code Playgroud)
但是,如果我将受影响的字段更改为models.IntegerField(max_length=8)和models.TextField(max_length=8),则错误消失了。
为什么会这样?我的印象是该max_length参数是可选的TextField;我什至不知道在上下文中这意味着什么IntegerField。有人可以解释这种行为和/或我在做什么错吗?
您将字段定义为其类的引用,而不是这些类的实例。它应该是
class Course(models.Model):
name = models.CharField(max_length=64)
credit = models.IntegerField()
notes = models.CharField(max_length=128)
resources = models.TextField()
description = models.TextField()
topic = models.CharField(max_length=128)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8886 次 |
| 最近记录: |