Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 28, 2019 14:27:40

Hennadii
Зарегистрирован: 2019-08-28
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Есть две модели в одном проекте, почему при обращении, например к записи sale/1 возвращает ошибку

 Reverse for 'fuel_edit_url' with keyword arguments '{'pk': ''}' not found. 1 pattern(s) tried: ['fuel\/(?P<id>[0-9]+)\/edit\/$'].
Пытается вернуть Reverse первой модели? Нигде не нашел примера размещения двух приложений в одном проекте.
 base.url urlpatterns =  path('admin/', admin.site.urls), path('', include('core.urls')), path('fuel/', include('fuel.urls')), path('sale/', include('sale.urls')), 
core.url urlpatterns =  path('', views.welcome, name='welcome'), 
fuel.url urlpatterns =  path('', FuelListView.as_view(), name='fuel_list_url'), path('create/', FuelCreateView.as_view(), name='fuel_create_url'), path('<int:id>/', FuelDetailView.as_view(), name='fuel_detail_url'), path('<int:id>/edit/', FuelUpdateView.as_view(), name='fuel_edit_url'), 
sale.url urlpatterns =  path('', SaleListView.as_view(), name='sale_list_url'), path('<int:id>/', SaleDetailView.as_view(), name='sale_detail_url'),

Fuel.view

   
class FuelListView(ListView): template_name = 'fuel/fuel_list.html' queryset = Fuel.objects.all() paginate_by = 15 context_object_name = 'fuels'
class FuelDetailView(DetailView): template_name = 'fuel/fuel_detail.html' queryset = Fuel.objects.all()
def get_object(self):
    id_ = self.kwargs.get('id')
    return get_object_or_404(Fuel, id=id_)
class FuelCreateView(CreateView): template_name = 'fuel/fuel_create.html' form_class = FuelForm queryset = Fuel.objects.all()
def form_valid(self, form):
    return super().form_valid(form)
class FuelUpdateView(UpdateView): template_name = 'fuel/fuel_update.html' form_class = FuelForm queryset = Fuel.objects.all()
def get_object(self):
    id_ = self.kwargs.get('id')
    return get_object_or_404(Fuel, id=id_)
def form_valid(self, form):
    return super().form_valid(form)

Sale.view
 class SaleListView(ListView):
    template_name = 'sale/sale_list.html'
    queryset = Sale.objects.all()
    context_object_name = 'sales'
class SaleDetailView(DetailView):
    template_name = 'sale/sale_detail.html'
    queryset = Sale.objects.all()
    def get_object(self):
        id_ = self.kwargs.get('id')
        return get_object_or_404(Sale, id=id_)

sale_list.html
 {% extends 'base.html' %}
{% block list %}
<div class="col-md-12 ml-3">
    <p><a class="btn btn-primary mt-3 ml-3" href="#" role="button">Новая заявка</a>
    {% for sale in sales %}
    <p><h6><a href="{{ sale.get_absolute_url }}">
        <ins style="color: Black;">Дата:</ins> {{ sale.datetime|date:"j N o"  }}
        <ins style="color: Black;">Номер заявки:</ins> {{ sale.gennum }}
        <ins style="color: Black;">Менеджер:</ins> {{ sale.author.get_full_name }}
        <ins style="color: Black;">Партнер:</ins> {{ sale.partner }}
        <ins style="color: Black;">Товар:</ins> {{ sale.product }}</a></h6>
    {% endfor %}
</div>
{% endblock %}

sale.models
 class Sale(models.Model):
    author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    datetime = models.DateTimeField(auto_now_add=True)
# имя партнера
    partner = models.ForeignKey(Partner, on_delete=models.CASCADE)
    product = models.CharField(max_length=64)
    quality = models.CharField(max_length=32)
    quantity = models.IntegerField()
    gennum = models.CharField(max_length=16, null=True, blank=True)
    class Meta:
        ordering = ['-datetime']
    def __str__(self):
        return "%s %s" % (self.author, self.partner)
    def get_absolute_url(self):
        return reverse('sale_detail_url', kwargs={'id': self.id})

Отредактировано Hennadii (Авг. 29, 2019 10:30:26)

Офлайн

#2 Авг. 28, 2019 20:14:52

m0nte-cr1st0
Зарегистрирован: 2019-02-03
Сообщения: 49
Репутация: +  2  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

А где ты обращаешься к fuel_edit_url?

Офлайн

#3 Авг. 29, 2019 10:36:50

Hennadii
Зарегистрирован: 2019-08-28
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

В том и вопрос что я к нему не обращаюсь. Когда в списке заявок пытаюсь посмотреть детальную информацию, sale app написан идентично fuel app в fuel app работает все: list, detail, create, update.

Отредактировано Hennadii (Авг. 29, 2019 11:05:06)

Офлайн

#4 Авг. 29, 2019 11:31:14

Hennadii
Зарегистрирован: 2019-08-28
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Вот снимок екрана

Прикреплённый файлы:
attachment Снимок экрана в 2019-08-29 11-29-23.png (193,4 KБ)

Офлайн

#5 Авг. 29, 2019 12:20:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Hennadii
В том и вопрос что я к нему не обращаюсь.
Так не бывает, дайте весь код архивом



Офлайн

#6 Авг. 29, 2019 12:29:38

Hennadii
Зарегистрирован: 2019-08-28
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Вот.

Прикреплённый файлы:
attachment glenport_old (копия).zip (36,2 KБ)

Офлайн

#7 Авг. 29, 2019 12:55:25

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Hennadii
В том и вопрос что я к нему не обращаюсь.

А вот это что?

<a class="btn btn-primary" href="{% url 'fuel_edit_url' id=fuel.id %}" target="_blank" role="button">Редактировать</a>



Офлайн

#8 Авг. 29, 2019 15:28:49

Hennadii
Зарегистрирован: 2019-08-28
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Такая строка есть в fuel_detail.html, но она рабочая, возвращает форму редактирования.Еще есть строка в sale_detail.html только она закоментирована:

         
<!-- <a class="btn btn-secondary" href="{% url 'fuel_edit_url' pk=fuel.pk %}" target="_blank" role="button">Редактировать</a> -->.

Отредактировано Hennadii (Авг. 29, 2019 15:29:37)

Офлайн

#9 Авг. 29, 2019 15:46:09

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Hennadii
только она закоментирована

Это она для браузера закомментирована, а для jinja эти коментарии ничего не значать, у неё свои коментарии.



Офлайн

#10 Авг. 29, 2019 17:07:11

Hennadii
Зарегистрирован: 2019-08-28
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Reverse for 'url' with keyword arguments '{'pk': ''}' not found

Вот ЛОХ! Большое спасибо за науку!!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version