zoukankan      html  css  js  c++  java
  • Django Admin Cookbook-30保存时如何将模型与当前用户关联

    30.保存时如何将模型与当前用户关联?

    假设Hero模型有个添加人字段:

    added_by = models.ForeignKey(settings.AUTH_USER_MODEL,
            null=True, blank=True, on_delete=models.SET_NULL)
    

    我们希望每当从后台创建对象时,added_by该字段自动设置为当前用户。修改代码如下:

    def save_model(self, request, obj, form, change):
        if not obj.pk:
            # 只在第一次保存时,自动保存为当前用户
            obj.added_by = request.user
        super().save_model(request, obj, form, change)
    

    相反,如果你想始终保存未当前用户,则可以执行以下操作:

    def save_model(self, request, obj, form, change):
        obj.added_by = request.user
        super().save_model(request, obj, form, change)
    

    如果您还希望隐藏该added_by字段,使其不显示在更改表单上,则可以执行以下操作:

    @admin.register(Hero)
    class HeroAdmin(admin.ModelAdmin, ExportCsvMixin):
        ...
        exclude = ['added_by',]
    

    返回目录

  • 相关阅读:
    构造并判断二叉搜索树-js
    构造树并判断是否对称
    旋转图像
    螺旋矩阵
    链表实现快速排序
    任务调度器
    队列的实现
    最大矩形
    棒球比赛
    复原IP地址
  • 原文地址:https://www.cnblogs.com/superhin/p/12192078.html
Copyright © 2011-2022 走看看