暂无描述

admin.py 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. from django.contrib import admin
  2. from .models import Store, MenuItem, Setting, StoreFile, Table, BookingTable, Order, MenuFile, OrderItem, UIMenu, PostCategory, Post
  3. from django_better_admin_arrayfield.admin.mixins import DynamicArrayMixin
  4. from mptt.admin import MPTTModelAdmin
  5. from django_admin_hstore_widget.forms import HStoreFormField
  6. from django.contrib.postgres.fields import HStoreField, ArrayField
  7. from django import forms
  8. # Register your models here.
  9. class StoreFileAdmin(admin.TabularInline):
  10. model = StoreFile
  11. class MenuItemAdmin(admin.StackedInline):
  12. model = MenuItem
  13. class OrderItemAdmin(admin.TabularInline):
  14. model = OrderItem
  15. class StoreAdmin(admin.ModelAdmin):
  16. inlines = [StoreFileAdmin, MenuItemAdmin]
  17. formfield_overrides = {
  18. HStoreField: {'widget': HStoreFormField},
  19. }
  20. class SettingAdmin(admin.ModelAdmin):
  21. pass
  22. class OrderAdmin(admin.ModelAdmin):
  23. inlines = [OrderItemAdmin,]
  24. class SettingAdminForm(forms.ModelForm):
  25. data = HStoreFormField()
  26. class Meta:
  27. model = Setting
  28. exclude = ()
  29. @admin.register(Setting)
  30. class SettingAdmin(admin.ModelAdmin):
  31. form = SettingAdminForm
  32. @admin.register(Post)
  33. class PostAdmin(admin.ModelAdmin):
  34. list_display = ('title', 'tag_list', 'cats', 'created_at', 'store', 'featureImage')
  35. save_as = True
  36. def tag_list(self, obj):
  37. return u", ".join(o.name for o in obj.tags.all())
  38. admin.site.register(Store, StoreAdmin)
  39. admin.site.register(MenuItem)
  40. #admin.site.register(Setting, SettingAdmin)
  41. admin.site.register(StoreFile)
  42. admin.site.register(Table)
  43. admin.site.register(BookingTable)
  44. admin.site.register(Order, OrderAdmin)
  45. admin.site.register(MenuFile)
  46. admin.site.register(UIMenu, MPTTModelAdmin)
  47. #admin.site.register(Post)
  48. admin.site.register(PostCategory, MPTTModelAdmin)