型号.py
class Product(models.Model):
category = TreeManyToManyField(ProductCategory, blank=True, symmetrical=False, related_name='products',
verbose_name='Категория')
status = models.ForeignKey(ProductStatus, default=None, null=True, blank=True, on_delete=models.CASCADE,
verbose_name='Статус')
name = models.CharField(max_length=200, db_index=True, verbose_name='Наименование товара')
slug = models.SlugField(max_length=200, db_index=True, verbose_name='Уникальная строка')
...
code = models.CharField(max_length=6, db_index=True, default=None, blank=True, verbose_name='Код товара',
help_text='Код товара должен быть 6-значным')
vendor_code = models.CharField(max_length=6, db_index=True, blank=True, default=None, verbose_name='Артикул')
...
admin.py
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
save_as = True
inlines = [ProductDetailInline]
fields = ['category', ('name', 'slug'), ('code', 'vendor_code'), 'memory',
'status', ('hot_deal', 'as_new', 'recommended', 'hot_sales'), ('price', 'discount'),
'image', 'description', 'available', 'is_active', ('created', 'updated')]
prepopulated_fields = {'slug': ('name',), 'vendor_code': ('code',)}
...
所有内容在本地项目上都能正常工作,但如果将项目放在服务器DigitalOcean上,则预填充字段将不起作用。恐怕我认为这可能是由于static_prod中的js文件造成的
问题出现在默认目录中的js文件中:
- static_prod/admin/js/change_form.js:(grp.jQuery(更改为(django.jQuery(
- static/prod/admin/js/prepopulated_init.js:(grp.jQuery(更改为(django.jQuery(
不要忘记,在这种情况下,文件的路径在我的项目中。你可能有不同的看法,但问题出在这些js文件上。