Форум сайта python.su
Есть две модели в одном проекте, почему при обращении, например к записи sale/1 возвращает ошибку
Reverse for 'fuel_edit_url' with keyword arguments '{'pk': ''}' not found. 1 pattern(s) tried: ['fuel\/(?P<id>[0-9]+)\/edit\/$'].
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'),
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)
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_)
{% 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 %}
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)
Офлайн
А где ты обращаешься к fuel_edit_url?
Офлайн
В том и вопрос что я к нему не обращаюсь. Когда в списке заявок пытаюсь посмотреть детальную информацию, sale app написан идентично fuel app в fuel app работает все: list, detail, create, update.
Отредактировано Hennadii (Авг. 29, 2019 11:05:06)
Офлайн
Вот снимок екрана
Прикреплённый файлы:
Снимок экрана в 2019-08-29 11-29-23.png (193,4 KБ)
Офлайн
HennadiiТак не бывает, дайте весь код архивом
В том и вопрос что я к нему не обращаюсь.
Офлайн
Вот.
Прикреплённый файлы:
glenport_old (копия).zip (36,2 KБ)
Офлайн
Hennadii
В том и вопрос что я к нему не обращаюсь.
<a class="btn btn-primary" href="{% url 'fuel_edit_url' id=fuel.id %}" target="_blank" role="button">Редактировать</a>
Офлайн
Такая строка есть в 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)
Офлайн
Hennadii
только она закоментирована
Офлайн
Вот ЛОХ! Большое спасибо за науку!!!
Офлайн