Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何向模板django显示外键值_Python_Django - Fatal编程技术网

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 %}