
这是我在models.py文件中的翻译设置,在我同步迁移后,django-parler2.0.1不会在管理站点中显示产品的字段。我目前使用的是Django 3.0.3。
from django.db import models
from django.urls import reverse
from parler.models import TranslatableModel, TranslatedFields
class Category(TranslatableModel):
translations = TranslatedFields(
name = models.CharField(max_length=200,
db_index=True),
slug = models.SlugField(max_length=200,
db_index=True,
unique=True)
)
class Meta:
# ordering = ('name',)
verbose_name = 'category'
verbose_name_plural = 'categories'
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('shop:product_list_by_category',
args=[self.slug])
class Product(TranslatableModel):
translations = TranslatedFields(
name = models.CharField(max_length=200, db_index=True),
slug = models.SlugField(max_length=200, db_index=True),
description = models.TextField(blank=True)
)
category = models.ForeignKey(Category,
related_name='products',
on_delete=models.CASCADE)
image = models.ImageField(upload_to='products/%Y/%m/%d',
blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2)
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
#class Meta:
# ordering = ('name',)
# index_together = (('id', 'slug'),)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('shop:product_detail',
args=[self.id, self.slug])我已经在admin.py文件中注册了该模型,但它不会显示产品描述和价格字段,我得到的只是翻译的选项卡。
from django.contrib import admin
from .models import Category, Product
from parler.admin import TranslatableAdmin
@admin.register(Category)
class CategoryAdmin(TranslatableAdmin):
list_display = ['name', 'slug']
def get_prepopulated_fields(self, request, obj=None):
return {'slug': ('name',)}
@admin.register(Product)
class ProductAdmin(TranslatableAdmin):
list_display = ['name', 'slug', 'price',
'available', 'created', 'updated']
list_filter = ['available', 'created', 'updated']
list_editable = ['price', 'available']
def get_prepopulated_fields(self, request, obj=None):
return {'slug': ('name',)}我想知道我做错了什么,我得到了这个,我想知道是否有更好的方法来使用Django-parler 2.0.1进行翻译配置。欢迎任何建议!!
发布于 2020-05-19 10:26:14
显然,我能够通过首先删除所有迁移来解决这个问题,我还必须丢弃我的数据库并切换到PostgreSQL,在那之后,我重新应用迁移,它起作用了。所有的字段现在都可以在管理站点中看到了!但要注意备份数据库,因为所有内容都将被删除。

https://stackoverflow.com/questions/60984340
复制相似问题