Я смог сделать это через оболочку окружения django, но не работал на моем реальном сайте. Вот моя модель:
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 из модели 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»:
>>> 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.>]