2013-05-18 2 views
0

У меня есть 2 модели под названием Manufacturer and Car. Модель автомобиля имеет иностранный ключ к изготовителю, что означает, что многие автомобили могут принадлежать одному изготовителю. В модели manfacturer это OneToOneField под названием витрина, которая позволяет производителю иметь один автомобиль для демонстрации, Как я могу показать всем производителям, у которых есть автомобиль, чтобы продемонстрировать, что означает, показать всех производителей с объектами OneToOneField.OneToOneField QuerySet, возвращающий пустой dict

Я попытался Manufacturer.objects.filter (витрина = True), но возвращать пустой словарь []

class Manufacturer(models.Model): 


    user = models.ForeignKey(User) 
    name = models.CharField(max_length=55) 
    showcase = models.OneToOneField('Car',related_name='Car',blank=True) 



class Car(models.Model): 
    user = models.ForeignKey(User) 
    Manufacturer = models.ForeignKey(Manufacturer,blank=False,related_name='Manufacturer') 
+0

Какая ошибка? возможно, попробуйте что-то вроде .filter (showcase__pk__gt = 0)? – fsw

+0

@fsw, Что означает 0? – JackRoster

+0

означает выбор производителей с витриной с первичным ключом, большим, чем 0. Я не тестировал его просто идею. – fsw

ответ

1

Попробуйте Manufacturer.objects.exclude(showcase=None)

также, в вашей модели попробуйте добавить null=True рядом с blank=True в атрибуте showcase модели.

+0

О, хорошо, Джонни. Почему мой ответ не работал? – JackRoster

+0

Я не знаю, это действительно странно, потому что, когда я тестировал его, он работал – johnny

+0

Manufacturer.objects.filter (showcase = True) – JackRoster

Смежные вопросы