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.

Reply via email to