【发布时间】:2010-02-17 21:50:46
【问题描述】:
我已经能够通过 django 环境 shell 执行此操作,但在我的实际站点上没有工作。这是我的模型:
class ShoeReview(models.Model):
def __unicode__(self):
return self.title
title = models.CharField(max_length=200)
slug = models.SlugField(unique=True)
keywords = models.TextField()
author = models.ForeignKey(User, related_name='reviews')
pub_date = models.DateTimeField(auto_now_add='true')
Shoe = models.OneToOneField(Shoe) # make this select those without a shoe review in admin area
owner_reviews = OwnerReview.objects.filter(Shoe__name=Shoe)
我确信这很愚蠢,但我已经做了大约 6 个小时了。这是我过去 18 年没有睡觉的部分原因:S
我正在尝试从 OwnerReview 模型中返回与当前 Shoe 匹配的所有 OwnerReview 对象:
class OwnerReview(models.Model):
def __unicode__(self):
return self.comments
name = models.CharField(max_length=50)
pub_date = models.DateTimeField(auto_now_add='true')
Shoe = models.ForeignKey(Shoe)
email = models.EmailField()
rating = models.PositiveSmallIntegerField()
comments = models.CharField(max_length=500)
这是我试图通过“python manage.py shell”完成的工作:
>>> from runningshoesreview.reviews.models import Shoe, OwnerReview
>>> ariake = Shoe.objects.get(pk=1)
>>> ariake.name
u'Ariake'
>>> owner_reviews_for_current_shoe = OwnerReview.objects.filter(Shoe__name=ariake.name)
>>> owner_reviews_for_current_shoe
[<OwnerReview: great pk shoe!>, <OwnerReview: good shoes, sometimes tear easy though.>]
【问题讨论】:
-
我建议在尝试解决任何严重的编码问题之前先睡觉。
-
你在 shell 中尝试过
ariake.ownerreview_set.all()吗?
标签: django django-models django-queryset