gpt4 book ai didi

python - Django 在管理面板中自动填充作者字段

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:21 24 4
gpt4 key购买 nike

在我的 django 项目中,我有一个带有如下类的 model.py:

class temp_main(models.Model):
descr = models.CharField(max_length=200, verbose_name="Description")
notes = models.TextField(null=True, blank=True, verbose_name="Note")
dt = models.DateTimeField(auto_now=True)
#Fields for API permissions
owner = models.ForeignKey('auth.User', related_name='tmain_owner', on_delete=models.CASCADE, verbose_name="API Owner")

class Meta:
verbose_name = '1-Main Template'
verbose_name_plural = '1-Main Templates'

def __str__(self):
return self.descr

我希望在我的管理面板中,所有者字段会自动填充当前登录用户。在我的 admin.py 中我写道:

admin.site.register(temp_main, )

如何使用登录用户设置我的所有者字段?

提前致谢

最佳答案

我认为你需要的是save_model方法。下面是它的使用方法(来自文档):

from django.contrib import admin
from myproject.myapp.models import Article

class ArticleAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.user = request.user
super().save_model(request, obj, form, change)

admin.site.register(Article, ArticleAdmin)

我认为您可以根据您的情况将 obj.user 更改为 obj.owner 。这有效吗?

另外,我认为您需要将 temp_main 类的名称更改为 TempMain,然后在 admin.py 中命名该类> 文件TempMainAdmin. Django 将使用此命名方案来了解哪个管理模型与哪个模型对应。

关于python - Django 在管理面板中自动填充作者字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48632877/

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