1
我试图让我打标为True
在我的网站在data['checked_users']
用户:Django的无效字面INT()基数为10: 'Stalone'
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
views.py
def check_user(request):
data = dict()
data['players'] = Player.objects.all()
if request.method == 'POST':
list_of_checks = request.POST.getlist('checks[]')
# data['checked_users'] = list_of_checks
data['checked_users'] = Player.objects.filter(jucator__in=list_of_checks)
return render(request, 'checkbox.html', data)
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'
你可以通过编辑你的Q来发布list_of_checks和Player.objects.filter(jucator__in = list_of_checks)的值吗? –
更改为'value =“{{user.jucator.id}}”'并重试。 –
我添加了值list_of_checks pls的值 –