在django 2.2中。选择\u相关字段是否不工作?如何修复它

在django 2.2中。选择\u相关字段是否不工作?如何修复它,django,django-models,django-forms,django-views,django-templates,Django,Django Models,Django Forms,Django Views,Django Templates,我尝试在Django orm中连接两个表,一个是示例1,另一个是示例2表。我使用了与select_相关的功能。但它在如何修复它上抛出了一个错误 型号.py class Sample1( models.Model ) a = models.Charfield(max_length=10) b = models.Charfield(max_length=20) sample3 = models.ForeignKey(Sample3, null=True, blank=True, o

我尝试在Django orm中连接两个表,一个是示例1,另一个是示例2表。我使用了与select_相关的功能。但它在如何修复它上抛出了一个错误

型号.py

class Sample1( models.Model )
   a = models.Charfield(max_length=10)
   b = models.Charfield(max_length=20)
   sample3 = models.ForeignKey(Sample3, null=True, blank=True, on_delete=models.SET_NULL)
   sample4 = models.ForeignKey(Sample4, null=True, blank=True, on_delete=models.SET_NULL)

class Sample2( modes.Model )
   sample1= models.ForeignKey( Sample1,on_delete=models.CASCADE )
   created = models.DateTimeField()
   updated = models.DateTimeField()


def sample_data(request):
    sampl_data = Sample1.objects.select_related("sample2__sample1").filter( created__lte = '2018-11-01 
    00:00:00-05:00', updated__gte = '2013-10-31 00:00:00-05:00')
    print(samp1_data)
视图.py

class Sample1( models.Model )
   a = models.Charfield(max_length=10)
   b = models.Charfield(max_length=20)
   sample3 = models.ForeignKey(Sample3, null=True, blank=True, on_delete=models.SET_NULL)
   sample4 = models.ForeignKey(Sample4, null=True, blank=True, on_delete=models.SET_NULL)

class Sample2( modes.Model )
   sample1= models.ForeignKey( Sample1,on_delete=models.CASCADE )
   created = models.DateTimeField()
   updated = models.DateTimeField()


def sample_data(request):
    sampl_data = Sample1.objects.select_related("sample2__sample1").filter( created__lte = '2018-11-01 
    00:00:00-05:00', updated__gte = '2013-10-31 00:00:00-05:00')
    print(samp1_data)
当我试图运行此程序时,显示此错误django.core.exceptions.FieldError:在select_related:“sample2”中给出的字段名无效。选择是:sample3、sample4

仅用于跟踪外键上的关系(在您的示例中,sample3和sample4)

返回将“遵循”外键关系的查询集, 在执行查询时选择其他相关对象数据


您试图实现的性能优化可以使用您的
Sample1
模型没有任何
sample2
字段来完成