Argyrios Deligiannidis af7c12dc85 SpitiGlykou
2022-06-26 23:37:10 +03:00

55 lines
1.7 KiB
Python

from django.contrib import admin
from .models import Order, Product, OrderProduct,Customer, Store
@admin.register(Store)
class StoreAdmin(admin.ModelAdmin):
list_display = ('name', 'address', 'telephone')
@admin.register(OrderProduct)
class OrderProductAdmin(admin.ModelAdmin):
def get_order_id(self, obj):
return obj.order.id
def get_product_name(self, obj):
return obj.product.name
list_display = ('get_order_id', 'get_product_name', 'info')
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
list_display = ('name',)
@admin.register(Customer)
class CustomerAdmin(admin.ModelAdmin):
list_display = ('name', 'telephone', 'address')
class OrderInlines(admin.TabularInline):
model = OrderProduct
fk_name = "order"
extra = 1
@admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
def get_products(self, obj):
#return "\n".join(['{}:{} | '.format(p.name, p.amount) for p in obj.order_products.all()])
return "\n".join([str(p) for p in obj.order_products.all()])
def get_customer_name(self, obj):
return obj.customer.name
def get_customer_telephone(self, obj):
return obj.customer.telephone
get_customer_name.admin_order_field = 'customer_name' # Allows column order sorting
get_customer_name.short_description = 'Customer Name' # Renames column head
get_customer_telephone.admin_order_field = 'customer_telephone' # Allows column order sorting
get_customer_telephone.short_description = 'Customer Telephone' # Renames column head
list_display = ('id', 'get_customer_name', 'get_customer_telephone', 'order_date', 'delivery_date', 'store', 'get_products')
inlines = (OrderInlines,)