gpt4 book ai didi

django - 如何在 Django 管理面板中获取当前登录的用户 ID?

转载 作者:行者123 更新时间:2023-12-01 09:36:30 24 4
gpt4 key购买 nike

我有模型消息,它是表单管理器。要填写“用户”和“组”字段,我需要知道当前登录的用户 ID,但我不知道如何在保存之前获取它。

class Message(models.Model):
title = models.CharField(max_length = 100)
text = models.TextField()
date = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(User, null = True, blank = True)
main_category = models.ForeignKey(MainCategory)
sub_category = models.ForeignKey(SubCategory)
groups = models.ManyToManyField(Group)

class MessageAdminForm(forms.ModelForm):
def __init__(self, *arg, **kwargs):
super(MessageAdminForm, self).__init__(*arg, **kwargs)
self.initial['main_category'] = MainCategory.objects.get(title = 'News')

最佳答案

不要在表单中这样做。覆盖您的管理子类上的 save_model 方法 - 它可以访问请求。

class MessageAdmin(admin.ModelAdmin):

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

关于django - 如何在 Django 管理面板中获取当前登录的用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com