2017-04-13 47 views
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' 
+0

你可以通过编辑你的Q来发布list_of_checks和Player.objects.filter(jucator__in = list_of_checks)的值吗? –

+1

更改为'value =“{{user.jucator.id}}”'并重试。 –

+0

我添加了值list_of_checks pls的值 –

回答

2

你需要把里面的value="{{ user.jucator }}"对象jucator的实际id。不是jucator对象本身。因此,改为:value="{{ user.jucator.id }}"。现在您可以使用Player.objects.filter(jucator__in=list_of_checks)进行查询,因为list_of_checks包含整数列表(id s的jucator s)。

相关问题