我正在为我的在线商店使用https://github.com/DanielIndictor/django-eav2eav存储库
面对一个问题,我不知道如何根据类别将属性传递给产品。在“管理”面板中选择类别时,产品应具有该类别的属性。找到了这样的数据组织方案,但我不知道如何使用此库实现它
EAV数据库模式
models.py
from django.db import models
import eav
class Category(models.Model):
name = models.CharField(max_length=40, verbose_name='Название')
def __str__(self):
return str(self.name)
class Meta:
verbose_name = 'Категория'
verbose_name_plural = 'Категории'
class Product(models.Model):
name = models.CharField(max_length=40, verbose_name='Название')
category = models.ForeignKey(Category, on_delete=models.PROTECT)
def __str__(self):
return str(self.name)
class Meta:
verbose_name = 'Товар'
verbose_name_plural = 'Товары'
eav.register(Category)
eav.register(Product)
admin.py
from django.contrib import admin
from eav.forms import BaseDynamicEntityForm
from eav.admin import BaseEntityAdmin
from .models import Product, Category
# Register your models here.
class CategoryAdminForm(BaseDynamicEntityForm):
model = Category
class CategoryAdmin(BaseEntityAdmin):
form = CategoryAdminForm
admin.site.register(Category, CategoryAdmin)
admin.site.register(Product)
目前没有回答
相关问题 更多 >
编程相关推荐