Название вашего поля (userid
вместо user
) заставляет меня думать, что вы можете быть озадачены поведением ForeignKey
.
Джанго.
Если вы определите модель следующим образом:
from django.contrib.auth.models import User
from django.db import models
class Question(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=100)
...
def __unicode__(self):
return self.title
А затем создать экземпляр Question
как question
:
>>> question.user # the `User` instance
<User: username>
>>> question.user_id # the user's primary key
1
Похоже, вы ожидаете, что question.userid
будет первичным ключом пользователя, а не тем, чем он является на самом деле: самим экземпляром User
. Когда вы обращаетесь к question.userid
, выполняется поиск в базе данных, но Django автоматически делает это, используя значение question.userid_id
. Я бы переименовал поле userid
в user
, чтобы избежать путаницы.
С учетом этого, я думаю, что вы пытаетесь сделать, это перечислить вопросы вместе с их ассоциированными пользователями. Если это так, сделайте что-то подобное в своем шаблоне:
<ol>
{% for question in questions %}
<li>{{ question }} asked by: {{ question.user }}</li>
{% endfor %}
</ol>