LINUX.ORG.RU

Странная ошибка в django admin.

 , ,


0

2

Всем привет!

Есть модель:

class Order(models.Model):
    order_id = models.CharField(u"Номер заказа", primary_key=True, auto_created=True, max_length=10)
    person = models.ForeignKey("clients.Person", blank=True, null=True)

    class Meta:
        verbose_name = u"Заказ"
        verbose_name_plural = u"Заказы"

    def __unicode__(self):
        return u"%s" % self.order_id

views.py:

@csrf_exempt
def makeNewOrder(request):
    if request.is_ajax() and request.method == "POST":

        ...

        client_id = request.POST["client_id"]

        try:
            person_obj = Person.objects.get(client__client_id=client_id)
        except:
            raise Http404

        order_object = Order(person=person_obj)

        order_object.save()

        ...

Все работает, сохраняется, ок. Но при попытки просмотреть казазы из админки выпадает ошибка:

NoReverseMatch at /admin/orders/order/

Reverse for 'orders_order_change' with arguments '(u'',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'admin/orders/order/(.+)/$']

Кто подскажет, в чем может быть проблема?

Заранее спасибо.


Посмотри в базе нет ли записей в Order с пустым order_id или id (если он есть)

Еще попробуй добавь blank=False в order_id

pi11 ★★★★★ ()
Последнее исправление: pi11 (всего исправлений: 1)
Ответ на: комментарий от pi11

Сделал поле blank=False и убрал его из __unicode__ - заработало. Спасибо.

djnoob ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.