簡體   English   中英

如何將外鍵值顯示到模板 django

[英]how to display foreign key value to template django

大家好,所以我在這里有一點問題,我想將我的外鍵值顯示到我的表單中,但它似乎根本沒有顯示任何內容,所以我嘗試像這樣從后端打印它:

     task = task_admin_form.objects.all()
     for tasks in task.values():
          print(tasks.username.username)

但它不工作任何人都可以幫助我嗎? 謝謝

我的 model

    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

帳戶 model

    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

視圖.py

task = task_admin_form.objects.all()
return render(request,"form.html",{"task":task})

form.html(用戶名是我其他模型中的一個字段)

                    <div class="block">
                    <label>TO: </label>
                    <select name="username">
                        {% for form in task %}
                        <option value={{form.username.username}} >{{form.username.username}}</option>
                        {% endfor %}
                    </select>
                </div>

Account 是名為 username 的 task_user_form 的外鍵。 要允許用戶 select 帳戶,您必須分配 ForeignKey 字段。

在您看來:

accounts = Account.objects.all()
return render(request,"form.html",{"accounts": accounts})

然后,在您的模板中:

{% for account in accounts %}
     <option value={{account.id}}>{{acount.username}}</option>
{% endfor %}

在這里,您選擇的選項具有指向帳戶 Object (id) 的值。 您必須將其分配給 task_user_form object。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM