У меня есть эти две модели, первая из которых имеет категорию, а вторая имеет размер, связанный с определенной категорией
class MasterCategory(models.Model):
category_name = models.CharField(max_length=100)
def __str__(self):
return self.category_name
class MasterSizes(models.Model):
category_name = models.ForeignKey(MasterCategory,on_delete=models.CASCADE)
category_size = models.CharField(max_length=2)
def __str__(self):
return self.category_size
Это модель продукта, в которой я хочу выбрать размеры, относящиеся к выбранной категории, и позволить пользователю выбрать несколько размеров ввремя.
class Product(models.Model):
category_name = models.ForeignKey(MasterCategory,on_delete=models.CASCADE)
# subcategory_name = models.
product_brand = models.CharField(max_length=50)
product_title = models.CharField(max_length=50)
product_summary = models.CharField(max_length=200)
product_description = models.TextField()
original_price = models.FloatField()
# discount_rate =models.IntegerField(null=True, blank=True)
related_size = MasterSizes.objects.filter(category_name=category_name)
available_sizes = models.ManyToManyField(related_size,related_name='category_sizes')
discount_price = models.FloatField()
product_image = models.ImageField()
product_size = models.ForeignKey(MasterSizes, on_delete=models.CASCADE)
favourite = models.BooleanField(default=False)
def __str__(self):
return self.product_title
Как мне отфильтровать ManyToManyField () только для выбранных категорий, связанных размеров только
** Прямо сейчас **
Показывает все размерыin available_sizes Но я хочу получить размеры, относящиеся только к выбранной категории.