Sorry the pictures I used to show my code did not work #tickets/models.py from django.db import models from django.urls import reverse from menu.models import Menu_Item from home.models import tableTable # Create your models here. class ordersTable(models.Model): order_type = [ ('dine-in', 'dine-in'), ('carryout', 'carryout'), ('delivery', 'delivery'), ] status = [ ('needDrinks', 'Needs Drinks'), ('needToOrder', 'Needs to Order'), ('orderTaken', 'Order Taken'), ('sentToKitchen', 'Sent To Kitchen'), ('sentBacktoServer', 'Sent to Server'), ('orderCompleted', 'Order Completed'), ('delivered', 'Delivered'), ] customerName = models.CharField(max_length=255) orderType = models.CharField(max_length=10, choices=order_type, default='dine-in') status = models.CharField(max_length=255, choices=status, default='needsDrinks') timeOrdered = models.DateField(null=True, blank=True) timeCompleted = models.DateField(null=True, blank=True) table = models.ForeignKey(tableTable, on_delete=models.CASCADE, to_field='id', db_column='table', null=True, blank=True) total = models.DecimalField(max_digits = 7, decimal_places=2, null=True, blank=True) def __str__(self): return str(self.id) + " - " + self.customerName + " - " + self.orderType def get_absolute_url(self): return reverse('viewOrder', args=[str(self.id)]) class itemTable(models.Model): menuItem = [ ('',''), ] status = [ ('waiting', 'waiting'), ('preparing', 'preparing'), ('completed', 'completed'), ('delivered', 'delivered'), ] order = models.ForeignKey(ordersTable, on_delete=models.CASCADE, to_field='id', db_column='order') menuItem = models.ForeignKey(Menu_Item, on_delete=models.CASCADE, to_field='id', db_column='menuItem', default=1) specialInstructions = models.CharField(max_length=255, blank=True, null=True) allergies = models.CharField(max_length=255, blank=True, null=True) server = models.CharField(max_length=255, blank=True, null=True) orderTime = models.DateField(blank=True, null=True) completionTime = models.DateField(blank=True, null=True) status = models.CharField(max_length=255, choices=status, blank=True, null=True) def __str__(self): return str(self.order) + " - " + str(self.menuItem) def get_absolute_url(self): return reverse('viewOrder', args=[str(self.order.id)])
#tickets/views.py from django.shortcuts import render from django.views.generic import (CreateView, DetailView, ListView, UpdateView, DeleteView) from django_tables2.views import SingleTableMixin from django_filters.views import FilterView from . models import ordersTable, itemTable from . tables import searchOrdersTable from . filters import searchOrdersFilter # Create your views here. class addCustomerOrder(CreateView): model = ordersTable fields = ['customerName', 'orderType'] class searchOrders(SingleTableMixin, FilterView): model = ordersTable table_class = searchOrdersTable template_name = 'tickets/searchOrders.html' filterset_class = searchOrdersFilter class viewOrder(DetailView): model = ordersTable class addItem(CreateView): model = itemTable fields = ['order', 'menuItem', 'specialInstructions', 'allergies', 'server', 'orderTime', 'completionTime', 'status'] def get_initial(self, **kwargs): initial = super(CreateView, self).get_initial() initial['order'] = self.kwargs['pk'] return initial class editItem(UpdateView): model = itemTable fields = ['order', 'menuItem', 'specialInstructions', 'allergies', 'server', 'orderTime', 'completionTime', 'status'] #chef/views.py from django.shortcuts import render, redirect from django.views.generic import (CreateView, DetailView, ListView, UpdateView, DeleteView) from django_tables2.views import SingleTableMixin from django_filters.views import FilterView from tickets.models import ordersTable, itemTable from tickets.tables import searchOrdersTable from tickets.filters import searchOrdersFilter # Create your views here. def searchOrders(request): table = searchOrdersTable(ordersTable.objects.filter(status='sentToKitchen')) template = "chef/searchOrders.html" filters = searchOrdersFilter context = {'table': table, 'filter': filters} return render(request, template, context) On Thursday, October 1, 2020 at 10:59:11 AM UTC-5 Patrick Carra wrote: > I am using linkify in django_tables2 to create a link to an order by > defininig get_absolute_url on the model. My question is if I want to use a > url other than the get_absolute_url in another class how do I do this? Is > there a way to override this? > > #tickets/models.py > > > #chef/views.py > > > The goal is to define a new view order function for the chef app instead > of using the view order function in the tickets app. I'm not sure how to > do this or if I have included enough information but any help getting > pointed in the right direction would be appreciated. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/ccac4700-e1f2-40fc-8f09-7aaccb844196n%40googlegroups.com.