/ new_animal / 7 /处的ValueError

时间:2018-10-24 17:33:24

标签: python django

我得到一个ValueError at /new_animal/7/,这是错误消息:invalid literal for int() with base 10: b'11 02:07:39.299546'

它会将我发送到我的base.html文件,并说“第0行”存在错误。 我的base.html文件包含引导程序。

这是我的new_animal.html文件:

{% extends "zoo_animal_feeders/base.html" %}
{% load bootstrap3 %}

{% block header %}
  <h2><a href="{% url 'zoo_animal_feeders:animal_type' animal_type.id %}">{{ animal_type }}</a></h2>
  <h2>Add new animal:</h2>
{% endblock header %}

{% block content %}
  <form action="{% url 'zoo_animal_feeders:new_animal' animal_type.id %}" method='post' class="form">
    {% csrf_token %}
    {% bootstrap_form form %}

    {% buttons %}
      <button name='submit'>add animal</button>
    {% endbuttons %}
  </form>

{% endblock content %}

让我知道是否需要向您展示更多我的项目。

更新 这是我的意见代码:

@login_required
def new_animal(request, animal_type_id):
    """Add a new animal to an animal type"""
    animal_type = AnimalType.objects.get(id=animal_type_id)

    if request.method != 'POST':
        #create a blank form
        form = AnimalForm()
    else:
        #POST data submitted
        form = AnimalForm(data=request.POST)
        if form.is_valid():
            new_animal = form.save(commit=False)
            new_animal.animal_type = animal_type
            new_animal.save()
            return HttpResponseRedirect(reverse('zoo_animal_feeders:animal_type', args=[animal_type_id]))

context = {'animal_type':animal_type, 'form':form}
return render(request, 'zoo_animal_feeders/new_animal.html', context)

这是我的模特代码:

class AnimalType(models.Model):
    """Type of animal that can classify the animal"""
    owner = models.ForeignKey(User, on_delete=models.CASCADE)
    a_type = models.CharField(max_length=50, default='')
    date_added = models.DateField(auto_now_add=True)

    def __str__(self):
        return self.a_type

1 个答案:

答案 0 :(得分:0)

解决方案是,在我的模型字段中,我有date_added = models.DateField(auto_now_add=True),然后将其更改为date_added = models.DateTimeField(auto_now_add=True),然后它开始工作。

那是因为我在页面的某处将其格式化为DateTimeField而不是DateField。