Kub*_*bas 8 python django django-models
models.py的片段
class Hardware_type(models.Model):
type = models.CharField(blank = False, max_length = 50, verbose_name="Type")
description = models.TextField(blank = True, verbose_name="Description")
slug = models.SlugField(unique = True, max_length = 255, verbose_name = "Slug")
class Software_type(models.Model):
type = models.CharField(blank = False, max_length = 50, verbose_name="Type")
description = models.TextField(blank = True, verbose_name="Description")
slug = models.SlugField(unique = True, max_length = 255, verbose_name = "Slug")
Run Code Online (Sandbox Code Playgroud)
现在
>>> sw = Software_type.objects.get(slug='unix')
>>> sw
<Software_type: Unix>
>>> hw = Hardware_type.objects.get(slug='printer')
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: type object 'Hardware_type' has no attribute 'objects'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会这样.有人可以帮帮我吗?
编辑:
对不起,没有发送所有代码 - 问题解决了. 在我的另一堂课
hardware_type = models.ManyToManyField(Hardware_type, verbose_name="Hardware Type")
Run Code Online (Sandbox Code Playgroud)
从hardware_type更改为hw_type后 - 工作正常我不知道会导致此问题.
事实证明,只有在 django console 中才开始工作,
后来我注意到 forms.py 中有一些旧代码
class Hardware_type(forms.ModelForm):
class Meta:
model = Hardware_type
Run Code Online (Sandbox Code Playgroud)
因此它不起作用,这对于命名类等来说是糟糕的一天。