暫無描述

admin.py 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from django.contrib import admin
  2. from django.contrib import admin
  3. from django.contrib.gis.admin import OSMGeoAdmin
  4. from .models import Store, ProductType, Product, Photo, ProductSKU
  5. # Register your models here.
  6. from django_google_maps import widgets as map_widgets
  7. from django_google_maps import fields as map_fields
  8. from django_json_widget.widgets import JSONEditorWidget
  9. from django.db import models
  10. from django.utils.html import format_html
  11. from django.conf import settings
  12. from dal import autocomplete
  13. from django import forms
  14. from mptt.admin import MPTTModelAdmin
  15. @admin.register(Store)
  16. class StoreAdmin(admin.ModelAdmin):
  17. search_fields = ('name',)
  18. list_display = ('name', 'address', 'geolocation')
  19. fields = ('name', 'address_text', 'tel', 'line_id', 'email', 'address', 'geolocation',)
  20. formfield_overrides = {
  21. map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
  22. }
  23. @admin.register(ProductType)
  24. class ProductTypeAdmin(MPTTModelAdmin):
  25. pass
  26. class PhotoInlineAdmin(admin.StackedInline):
  27. model = Photo
  28. @admin.register(Product)
  29. class ProductAdmin(admin.ModelAdmin):
  30. inlines = [PhotoInlineAdmin,]
  31. formfield_overrides = {
  32. map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
  33. models.JSONField: {'widget': JSONEditorWidget},
  34. }
  35. list_display = ["name", "created_at", "created_by"]
  36. def save_model(self, request, obj, form, change):
  37. if obj.created_by == None:
  38. obj.created_by = request.user
  39. #super().save_model(request, obj, form, change)
  40. obj.modified_by = request.user
  41. super().save_model(request, obj, form, change)
  42. @admin.register(ProductSKU)
  43. class ProductSKUAdmin(admin.ModelAdmin):
  44. formfield_overrides = {
  45. map_fields.AddressField: {'widget': map_widgets.GoogleMapsAddressWidget},
  46. models.JSONField: {'widget': JSONEditorWidget},
  47. }
  48. @admin.register(Photo)
  49. class PhotoAdmin(admin.ModelAdmin):
  50. pass