在做體能測試項目時江耀,遇到了保存用戶權(quán)限的需求,然而在save_models 上耽誤了幾個小時
場景如下
我打算創(chuàng)建用戶時摧冀,自動賦予用戶響應(yīng)的組group
然而第一次總是無法獲得用戶的組信息
后來才知道,還有 save_relate(self) 函數(shù)扩借,負(fù)責(zé)存在m2m類型數(shù)據(jù)
具體代碼如下
def save_related(self):
obj = self.new_obj
super(UsersAdmin, self).save_related()
obj.user.groups.clear()
logger.info(obj.user_type.all())
for item in obj.user_type.all():
obj.user.groups.add(item.group)
obj.user.save()
obj.save()
def save_models(self):
obj = self.new_obj
if obj.id is None:
#第一次時
obj.user.is_active=True
obj.user.is_staff=True
obj.user.save()
obj.save()
else:
super(UsersAdmin, self).save_models()
相關(guān)文章
- 《我為何又開始用Django了(內(nèi)含安裝和配置超詳細(xì)文檔)》
- 《Django體能測試成績管理平臺之環(huán)境和服務(wù)器準(zhǔn)備》
- 《Django體能測試成績管理平臺之xadmin安裝》
- 《Django體能測試成績管理平臺之學(xué)生基本信息APP》
- 《Django體能測試成績管理平臺之管理員APP》
- 《Django如何存儲跑步時間》
- 《Django 如何輸出日志》
- 《Django如何存儲跑步時間》
- 《Django xadmin 消息提醒(含demo》
- 《Django xadmin 常用field列表》
- 《Django xadmin 如何設(shè)置只讀屬性》