django admin

1、querySet過濾

 def get_queryset(self, request):
        task = Task.objects.all()
        if request.user.is_superuser:
            return task
        return task.filter(create_by_user=request.user)

2、外鍵條件過濾

  def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if not request.user.is_superuser:
            if db_field.name == "create_by_user":
                kwargs["queryset"] = User.objects.filter(id=request.user.id)
        return super(TaskAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

3、修改導(dǎo)出字段

class TaskResource(resources.ModelResource):
    system = Field()
    start_time = Field()

    class Meta:
        model = Task
        fields = ('start_time', 'system', 'content', 'progress', 'create_by_user', 'note')
        export_order = ('start_time', 'system', 'content', 'progress', 'create_by_user', 'note')
        skip_unchanged = True

    def dehydrate_start_time(self, task):
        return timezone.localtime(task.start_time).strftime("%Y/%m/%d")

    def dehydrate_system(self, task):
        return task.system.name
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容