Python 如何向模板django显示外键值
大家好,我这里有点问题,我想在我的表单中显示外键值,但它似乎根本不显示任何内容,所以我尝试从后端打印它,如下所示:Python 如何向模板django显示外键值,python,django,Python,Django,大家好,我这里有点问题,我想在我的表单中显示外键值,但它似乎根本不显示任何内容,所以我尝试从后端打印它,如下所示: task = task_admin_form.objects.all() for tasks in task.values(): print(tasks.username.username) 但它不起作用有人能帮我吗?谢谢 我的模型 class task_admin_form(models.Model): usern
task = task_admin_form.objects.all()
for tasks in task.values():
print(tasks.username.username)
但它不起作用有人能帮我吗?谢谢
我的模型
class task_admin_form(models.Model):
username = models.ForeignKey(Account, on_delete=models.CASCADE)
subject = models.CharField(max_length=100)
task_tenggat = models.DateField(auto_now=False, auto_now_add=False)
task = models.TextField(max_length=200)
def __str__(self):
return self.username
帐户模型
class Account(AbstractBaseUser):
email = models.EmailField(verbose_name="email", max_length=60, unique=True)
username = models.CharField(max_length=30, unique=True)
gambar = models.ImageField(blank=False, null=False, upload_to='pics')
date_joined = models.DateTimeField(verbose_name='date joined', auto_now_add=True)
last_login = models.DateTimeField(verbose_name='last login', auto_now=True)
is_admin = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
USERNAME_FIELD = "username"
REQUIRED_FIELDS = ["email"]
objects = MyAccountManager()
def __str__(self):
return self.username
def has_perm(self,perm,obj=None):
return self.is_admin
def has_module_perms(self,app_label):
return True
views.py
task = task_admin_form.objects.all()
return render(request,"form.html",{"task":task})
html(用户名是我的另一个模型中的一个字段)
致:
{任务%中窗体的%s}
{{form.username.username}
{%endfor%}
帐户是名为username的任务用户表单的外键。要允许用户选择帐户,您必须分配ForeignKey字段
在你看来:
accounts = Account.objects.all()
return render(request,"form.html",{"accounts": accounts})
然后,在模板中:
{% for account in accounts %}
<option value={{account.id}}>{{acount.username}}</option>
{% endfor %}
{%for accounts%}
{{acount.username}
{%endfor%}
在这里,您选择一个选项,该选项具有指向帐户对象(id)的vaue。您必须将其分配给task_user_form对象。将form_task替换为task您的上下文是{“task”:task},您试图访问一个不存在的名称“form_task”抱歉,我将更新我的问题抱歉,该问题应该是task,因此它将是{%for form in task%}def_ustr_uu(self):return self.username在task_admin_表单中是指一个外键Ohh这就是它的工作原理我有点困惑Django orm是如何工作的,谢谢dude它现在工作了我在我的视图中添加了这个,所以accounting=Account.objects.get(id=admin_name)data=task_admin_表单(username=accounting,subject=subject,task_tenggat=tanggal_tenggat,task=task)data.save()正确。请@adhi_wika将答案向上投票好吗
{% for account in accounts %}
<option value={{account.id}}>{{acount.username}}</option>
{% endfor %}