問題場景:在對某個表的 queryset 進行序列化的時候,我需要將一個可能會實時變更的臨時數據也放進 queryset 中的每個
obj 對象中,而正常情況下,obj 對象是不允許你添加不是自己表字段中的其他屬性(這會引發異常)。
解決問題: 當你想在某個表對象中添加一些臨時屬性,而不是添加表字段的情況下,就可以使用以下方法添加自定義屬性
# models.py
class Goods(models.Model): name = models.CharField(verbose_name="名稱", max_length=32) @property def title(self): # 讀取 title 值 return self.title @title.setter def title(self, value): # 存儲 title 值 self.title = value
# views.py
goods_obj = Goods.objects.filter(id=1).first() # 存儲 goods_obj.title = "標簽1" # 獲取 title = goods_obj.title