[英]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.