from .models import Food, Menu
from django.contrib import admin
class FoodAdmin(admin.ModelAdmin):
#顯示內(nèi)容
list_display = ('foodname', 'company')
list_filter = ('company',)
fieldsets = (
(None, {'fields': ('foodname', 'img', 'score', 'score_times')}),
)
#有條件的查詢,若為超級用戶,則返回全部,否則只返回自己所在部門
def get_queryset(self, request):
qs = super().get_queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(company=request.user.company)
# 自動(dòng)更新,創(chuàng)建時(shí)將用戶部門自動(dòng)更新為自己所在部門
def save_model(self, request, obj, form, change):
obj.company = request.user.company
super().save_model(request, obj, form, change)
class MenuAdmin(admin.ModelAdmin):
#顯示內(nèi)容
list_display = ('date_time','company')
list_filter = ('company',)
fieldsets = (
(None, {'fields': ('date_time', 'breakfast','lunch','dinner')}),
)
filter_horizontal = ('breakfast','lunch','dinner')
#有條件的查詢,若為超級用戶,則返回全部,否則只返回自己所在部門
def get_queryset(self, request):
qs = super().get_queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(company=request.user.company)
# 自動(dòng)更新,創(chuàng)建時(shí)將用戶部門自動(dòng)更新為自己所在部門
def save_model(self, request, obj, form, change):
obj.company = request.user.company
super().save_model(request, obj, form, change)
#多對多的列表過濾
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == 'breakfast' or db_field.name =='lunch' or db_field.name =='dinner':
kwargs["queryset"] = Food.objects.filter(company=request.user.company)
from django.contrib.admin import widgets
kwargs['widget'] = widgets.FilteredSelectMultiple(
db_field.verbose_name,
db_field.name in self.filter_vertical
)
return super(MenuAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
admin.site.register(Food, FoodAdmin)
admin.site.register(Menu, MenuAdmin)
Django的Admin配置
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。