gpt4 book ai didi

python - Django:获取 TabularInline 模型对象

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

我正在学习 Django web 的基础知识,但我遇到了一个问题

我在 models.py 中有以下模型(简化):

class CustomUser(AbstractUser): # Custom Admin Model
def __str__(self):
return self.username

def __len__(self):
return 1

class Task(models.Model):
title = models.CharField(max_length=250, blank=False)
author = models.ForeignKey(CustomUser, on_delete=models.CASCADE, default=None)

还有 admin.py :

class TaskInline(admin.TabularInline):
model = Task

class CustomUserAdmin(UserAdmin):
add_form = CustomUserCreationForm
form = CustomUserChangeForm
model = CustomUser
list_display = ['email', 'username']
inlines = [TaskInline]

fieldsets = (
(('User'), {'fields': ('username', 'email')}),
)

我目前正在开发一个 TODO Web 应用程序,我想做的是在 HTML 中显示任务模型的标题。

正在寻找这样的东西:

{{ user.inlines[0].title }} # This does not work 

这可能吗?我是否必须为 CustomModel 创建一个函数来返回他的内联模型(例如:get_inline_models(self))?其他解决方案?

提前致谢:)

最佳答案

如果您想要根据模型通过用户实例访问任务的标题,您可以:

{{ user.task_set }}

为了获取与某个用户相关的所有任务。您还可以为您的作者字段定义 lated_name 选项:

class Task(models.Model):
title = models.CharField(max_length=250, blank=False)
author = models.ForeignKey(CustomUser, on_delete=models.CASCADE, default=None, related_name='tasks')

这样你就可以:

{{ user.tasks }}

了解此内容 here .

示例

{% for task in user.tasks %}
{{ task.title }}
{% endfor %}

关于python - Django:获取 TabularInline 模型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54371195/

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