django python shell数据访问错误
我有一个django模型,如下所示:django python shell数据访问错误,python,django,Python,Django,我有一个django模型,如下所示: from django.db import models from mptt.models import MPTTModel, TreeForeignKey class deg_course_cat(models.Model): degree_code = models.CharField(max_length=24) specialization = models.CharField(max_length=48) category
from django.db import models
from mptt.models import MPTTModel, TreeForeignKey
class deg_course_cat(models.Model):
degree_code = models.CharField(max_length=24)
specialization = models.CharField(max_length=48)
category_level1 = models.CharField(max_length=48)
category_level2 = models.CharField(max_length=96)
category_level3 = models.CharField(max_length=48)
min_credit = models.IntegerField()
max_credit = models.IntegerField()
primarystuff = models.CharField(max_length=24)
class deg_course_cat_mptt(MPTTModel):
name = models.CharField(max_length=100, unique=False)
min_credit = models.IntegerField(null=True)
max_credit = models.IntegerField(null=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
class MPTTMeta:
order_insertion_by = ['name']
# Create your models here.
我的deg_course_cat表中已经填写了一些数据
当我试图通过pythonshell访问数据中的一列时,我遇到了一个错误。我试过这样的方法:
Python 2.7.4 (default, Sep 26 2013, 03:20:56)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from studentapp.models import deg_course_cat
>>> from studentapp.models import deg_course_cat_mptt
>>> degree_code.items()
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'degree_code' is not defined
Python 2.7.4(默认,2013年9月26日03:20:56)
[GCC 4.7.3]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
(InteractiveConsole)
>>>从studentapp.models导入deg_course_cat
>>>从studentapp.models导入课程目录
>>>学位代码项目()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“度代码”
我哪里出错了?您不能访问这样的模型字段。首先,
degree\u code
不导入。此外,您不能导入它,您可以通过以下模型访问它:deg_course\u cat.degree\u code
,但我不确定您想用它做什么
如果要获取所有的度代码值,请使用withflat=True
:
>>> deg_course_cat.objects.values_list('degree_code', flat=True)
这将返回数据库中所有
degree\u code
值的列表。我正在尝试使用模型中的数据创建mppt结构。您好,还有一个问题!如何从同一列中获取不同的值?@AbhishekReddy当然,只需从中设置:set(deg_-course\u cat.objects.values\u list('degree_-code',flat=True))
。嗨,你能告诉我如何在这个命令中使用过滤器吗?我正在尝试一些类似set(deg_-course_-cat.objects.filter(degree_-code='AA.ARTS')。values_-list('degree_-code',flat=True))@AbhishekReddy当然,就这么做吧,例如:set(deg_-course_-cat.objects.filter(min_-credit=10)。values_-list('degree_-code',flat=True))
离题,我建议用类名代替类名,见PEP8