我试图在我的网站上,data['checked_users']
中获取我标记为True
的用户:
models.py
class Player(models.Model):
jucator = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, related_name='jucator')
porecla = models.CharField(max_length=50, null=True, blank=True)
selectat = models.BooleanField(default=False)
def __str__(self):
return u'%s' % self.jucator
^{pr2}$
views.py
checkbox.html
<body>
{% block content %}
<form action="" method="POST">{% csrf_token %}
<table>
{% if request.user.is_superuser %}
{% for user in players %}
<tr>
<td><input type="checkbox" name="checks[]" value="{{ user.jucator }}" title="selected_players">{{ user.jucator }}<br></td>
</tr>
{% endfor %}
<tr>
<td><input type="submit" name="submit" value="Submit"></td>
</tr>
{% else %}
{% for user in players %}
<tr><td>{{ user.jucator }}</td></tr>
{% endfor %}
{% endif %}
</table>
{% for player in checked_users %}
{{ player }}
{% endfor %}
</form>
{% endblock %}
</body>
如果我尝试这个,它会向玩家展示:
data['checked_users'] = list_of_checks
如果我尝试使用过滤器,会出现以下错误:
invalid literal for int() with base 10: 'Stalone'
您需要在
value="{{ user.jucator }}"
中放入jucator
对象的实际id
。不是jucator
对象本身。在所以,改成这个:
value="{{ user.jucator.id }}"
。现在您可以使用Player.objects.filter(jucator__in=list_of_checks)
进行查询,因为list_of_checks
包含一个整数列表(jucator
s的id
s)。在相关问题 更多 >
编程相关推荐