内部联接时django中的预取_相关()错误
我正在创建一个代码,它是两个对象ModelA和ModelB的内部连接。 model.py内部联接时django中的预取_相关()错误,django,django-models,django-views,Django,Django Models,Django Views,我正在创建一个代码,它是两个对象ModelA和ModelB的内部连接。 model.py class ModelA(models.Model): title = models.CharField(max_length=200, blank=False) price = models.DecimalField(decimal_places=1, max_digits=4, default=0) time = models.DateTimeField(auto_now_add
class ModelA(models.Model):
title = models.CharField(max_length=200, blank=False)
price = models.DecimalField(decimal_places=1, max_digits=4, default=0)
time = models.DateTimeField(auto_now_add=True, blank=False)
custom_id = models.UUIDField(blank=False,null=False, default=uuid.uuid4, editable=False)
created = models.DateTimeField("created", auto_now_add=True)
objects = models.Manager()
def __str__(self):
return self.title
class ModelB(models.Model):
title = models.CharField(max_length=200, blank=False)
image = models.ImageField(upload_to="Image", blank=True)
important_note = models.TextField(blank=True, max_length=1000)
auther = models.ManyToManyField(Auther, related_name="juries")
is_deleted = models.BooleanField(default=False)
created = models.DateTimeField("created", auto_now_add=True)
objects = models.Manager()
def __str__(self):
return self.title
内部联接代码
def get_queryset(self):
try:
key = self.kwargs['pk']
if key is not None:
return ModelA.objects.filter(custom_id=key, is_deleted=False).prefetch_related(
Prefetch('modelb_set', queryset=ModelB.objects.filter())) \
.order_by('-updated')
except Exception:
return ModelA.objects.filter(is_deleted=False).prefetch_related(
Prefetch('modelb_set', queryset=ModelB.objects.filter())) \
.order_by('-updated')
当我运行它时,我会低于错误
raise AttributeError("Cannot find '%s' on %s object, '%s' is an invalid "
AttributeError: Cannot find 'modelb_set' on ModelA object, 'modelb_set' is an invalid parameter to prefetch_related()
我检查了一些与此相关的代码,但为什么我的代码中出现以下错误
我哪里做错了?如何修复?请将您的模型添加到问题中…@AbdulAzizBarkat我已经更新了代码。您的
ModelA
和ModelB
甚至没有任何关联。为什么你希望预回迁相关的在这里工作?@AbdulAzizBarkat我们怎么能发现这两种模式都不相关呢?我的意思是,我想知道如何检测到这一点?@AbdulAzizBarkat好的,我可以在给定的示例链接中看到,电路字段甚至是相关的。这正是重点。正确的?