0
在我的模型文件中,我有額外的類。django中的奇怪的AttributeError
這已經計算租賃基於其他模型LeaseExtra
class Extra(CommonInfo):
number = models.CharField(max_length=30,null=True, blank=True)
max_occupants = models.PositiveSmallIntegerField()
floor = models.PositiveSmallIntegerField()
_lease = None
def _get_total(self):
from lease.models import Lease
from conditions.models import LeaseExtra
le_dict = LeaseExtra.objects.filter(extra_id=self.id, is_active = True).aggregate(Max('id'))
if le_dict:
lease = le_dict.lease
else:
lease = 0
self._lease = lease
class LeaseExtra(CommonInfo):
version = IntegerVersionField()
extra = models.ForeignKey(Extra,on_delete=models.PROTECT)
lease = models.ForeignKey(Lease,on_delete=models.PROTECT)
is_included = models.BooleanField(default=True)
物業租賃爲什麼我收到錯誤在這個模型類?
異常值:
'字典' 對象沒有屬性 '租賃'
Traceback:
File "C:\Users\PAPA\DEV\rent_unit\rent_unit_venv\lib\site-packages\django\core\handlers\base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\PAPA\DEV\rent_unit\rent_unit_venv\lib\site-packages\django\contrib\auth\decorators.py" in _wrapped_view
22. return view_func(request, *args, **kwargs)
File "C:\Users\PAPA\DEV\rent_unit\src\unit\views.py" in extra_available_list
163. extra_list = [obj for obj in extra_list if ((obj.lease)==0)]
File "C:\Users\PAPA\DEV\rent_unit\src\unit\models.py" in lease
182. self._get_total()
File "C:\Users\PAPA\DEV\rent_unit\src\unit\models.py" in _get_total
160. lease = le_dict.lease
Exception Type: AttributeError at /unit/list/extra/available/
Exception Value: 'dict' object has no attribute 'lease'
來自docs:'aggregate()是QuerySet的一個終端子句,當被調用時,它返回名稱 - 值對的字典。 '鏈接到文檔https://docs.djangoproject.com/en/1.10/topics/db/aggregation/ – slackmart
如果'le_dict'是一個字典,我不會指望它有一個租約屬性。 – Carcigenicate