【问题标题】:OneToOneField QuerySet returning empty dictOneToOneField QuerySet 返回空字典
【发布时间】:2013-05-18 12:06:29
【问题描述】:

我有 2 个模型,分别称为 Manufacturer 和 Car 。汽车模型有一个制造商的外键,这意味着许多汽车可以属于一个制造商。 在模型制造商中,他们是一个名为展示柜的 OneToOneField,它允许制造商拥有一辆汽车来展示, 如何显示所有有汽车的制造商要展示,这意味着,用 OneToOneField 对象显示所有制造商。

我尝试了 Manufacturer.objects.filter(showcase=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')

【问题讨论】:

  • 这是怎么回事?也许尝试类似 .filter(showcase__pk__gt=0)?
  • @fsw , 0 是什么意思?
  • 就是选择主键大于0的showcase的厂商,我没测试过,只是一个想法。

标签: django


【解决方案1】:

试试Manufacturer.objects.exclude(showcase=None)

另外,在您的模型中,尝试在模型的展示属性中将 null=True 添加到 blank=True 旁边。

【讨论】:

  • 我不知道,这真的很奇怪,因为当我测试它时,它起作用了
  • 你测试的是你的还是我的?
  • 我都试过了,它们都适合我(只是我添加了 null=True,否则它不允许我添加没有展示的制造商)。我用的是 Django 1.5.1。
猜你喜欢
  • 1970-01-01
  • 2019-01-21
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
  • 2015-01-01
  • 1970-01-01
相关资源
最近更新 更多