【发布时间】:2020-11-22 11:14:59
【问题描述】:
t = PurchaseHeader.objects.first()
t.__dict__
{
'_state': <django.db.models.base.ModelState object at 0x7f4b34aa7fa0>,
'id': 3,
'ref': 'jhkh',
'goods': Decimal('-100.00'),
'discount': Decimal('0.00'),
'vat': Decimal('-20.00'),
'total': Decimal('-120.00'),
'paid': Decimal('-120.00'),
'due': Decimal('0.00'),
'date': datetime.date(2020, 11, 7),
'due_date': datetime.date(2020, 11, 14),
'period': '202007',
'status': 'c',
'created': datetime.datetime(2020, 11, 7, 15, 46, 48, 191772, tzinfo=<UTC>),
'cash_book_id': None,
'supplier_id': 1128,
'type': 'pc'
}
当我加入供应商表时,我很失望地发现这些列未包含在字典中。下面,t.__dict__ 同上。我注意到供应商模型实例缓存在t._state 中,所以我想我可以创建自己的方法,所有模型都从该方法继承来执行我想要的操作 - 字典中所有表的所有列。但我想知道是否有人知道开箱即用的方法?
t = PurchaseHeader.objects.select_related("supplier").first()
t.__dict__
【问题讨论】:
标签: django django-models django-orm