Python 如何获取类的单个对象?
我有一个简单的Django模型,定义如下:Python 如何获取类的单个对象?,python,django,Python,Django,我有一个简单的Django模型,定义如下: from django.db import models LEVEL_CHOICES = (('beg', 'beginner'), ('ind', 'inter'), ('exp', 'expert')) class scrape(models.Model): subject = models.CharField(max_length=128, unique=True) # level= models.CharField(max_
from django.db import models
LEVEL_CHOICES = (('beg', 'beginner'), ('ind', 'inter'), ('exp', 'expert'))
class scrape(models.Model):
subject = models.CharField(max_length=128, unique=True)
# level= models.CharField(max_length=128, unique=True)
level = models.CharField(max_length=128, choices=LEVEL_CHOICES)
time = models.IntegerField(unique=True)
def __str__(self):
return self.subject
我希望我的views.py将subject对象作为scrape.subject.all,这一切都不起作用
如何获取存储在subject对象中的值并存储在某个变量中,以便我可以对其执行一些操作?这里有一些基本问题 从django.db导入模型
LEVEL_CHOICES = (('beg', 'beginner'), ('ind', 'inter'), ('exp', 'expert'))
class Scrape(models.Model): # Classes should be uppercase
subject = models.CharField(max_length=128, unique=True)
# level= models.CharField(max_length=128, unique=True)
level = models.CharField(max_length=128, choices=LEVEL_CHOICES)
time = models.IntegerField(unique=True)
def __unicode__(self): # __unicode__ is more recommended if you're using python 2.x
return self.subject
现在要获得主题列表,只需键入:
mySubjects = Scrape.objects.all().values_list('subject', flat=True)
这里有一些基本问题 从django.db导入模型
LEVEL_CHOICES = (('beg', 'beginner'), ('ind', 'inter'), ('exp', 'expert'))
class Scrape(models.Model): # Classes should be uppercase
subject = models.CharField(max_length=128, unique=True)
# level= models.CharField(max_length=128, unique=True)
level = models.CharField(max_length=128, choices=LEVEL_CHOICES)
time = models.IntegerField(unique=True)
def __unicode__(self): # __unicode__ is more recommended if you're using python 2.x
return self.subject
现在要获得主题列表,只需键入:
mySubjects = Scrape.objects.all().values_list('subject', flat=True)
您可以使用创建主题列表
您可以使用创建主题列表
看来你走错了方向。您只能使用all方法获取所有db模型,即:碎片而非主题:
scraps = scrap.objects.all()
然后,可以在第二步中获取所有受试者:
subjects = [s.subject for s in scraps]
但是,出于性能方面的考虑,您应该按照Sayse上面的建议进行操作。看起来您有点走错了方向。您只能使用all方法获取所有db模型,即:碎片而非主题:
scraps = scrap.objects.all()
然后,可以在第二步中获取所有受试者:
subjects = [s.subject for s in scraps]
但是,出于性能原因,您应该按照上面的建议执行。scrapsFilteredBySubject=Scraps.objects.filtersubject='my_subject'?subject='my_subject'是另一个模型吗?…这是一个非常基本的问题,本教程对此进行了详细介绍。首先,你是如何确定你想要的对象的?@Sayse no这不是另一个模型。不清楚你到底想要实现什么,你是在寻找一系列主题吗?有特定主题的废品清单?还有什么?scrapsFilteredBySubject=Scraps.objects.filtersubject='my_subject'?subject是另一个模型吗?…这是一个非常基本的问题,本教程对此进行了详细介绍。首先,你是如何确定你想要的对象的?@Sayse no这不是另一个模型。不清楚你到底想要实现什么,你是在寻找一系列主题吗?有特定主题的废品清单?如果OP使用的是Python2,则更推荐使用unicode;没有理由假设。只有在OP使用Python 2时,才更推荐使用unicode;没有理由这么想我只是想说谢谢你的提醒。。但是从数据库返回的内容也有很大的不同,这将极大地影响使用all和FILTERING之间的性能可能确实是一个很大的不同,先生!不过,我想尽量坚持最初的问题。无论如何,我还是编辑了我的答案。我想我应该说谢谢你的提醒。。但是从数据库返回的内容也有很大的不同,这将极大地影响使用all和FILTERING之间的性能可能确实是一个很大的不同,先生!不过,我想尽量坚持最初的问题。无论如何,我还是对我的答案做了一些修改。