![](/img/trans.png)
[英]python django 'QuerySet' object has no attribute 'objects'
[英]'super' object has no attribute 'objects' Python Django
您需要使用get_related_filter
class 方法获取filter
意见
modelPath = 'Money.models'
app_model = importlib.import_module(modelPath)
cls = getattr(app_model, 'Money')
related_result = cls().get_related_filter(search_query='search_query')
模型.py
class Money(models.Model):
money = models.DecimalField(max_digits=19, blank=True, default=0, decimal_places=2)
def get_related_filter(self, **kwargs):
results = super(Money, self).objects.filter(Q(money__icontains=kwargs['search_query']))
return results
def __str__(self):
return self.money
为什么给出'super' object has no attribute 'objects' Python Django
,并且不返回filter
使用super(Money, self)
没有意义,原因有两个:
Model
,但Model
也不是它的父母有objects
属性; 和.objects
上的.objects ,而不是实例。因此,您可以过滤:
class Money(models.Model):
money = models.DecimalField(max_digits=19, blank=True, default=0, decimal_places=2)
def get_related_filter(self, search_query, **kwargs):
return Money.objects.filter(money__icontains=search_query)
def __str__(self):
return str(self.money)
__str__
也应该返回一个字符串,而不是小数,所以你应该返回str(self.money)
,而不是self.money
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.