![](/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.