我的模型为Offer
、Wood
和。并与M2M 领域相关。在 Django admin添加新的 Wood 记录时,我可以为SliceTec和JointTec选择多个选项。没问题。当涉及到报价时,我需要显示来自选定的Wood记录woodSlice数据和woodJoint数据的选项。SliceTec
JointTec
Wood
SliceTec
JointTec
例如;
SliceTec 数据:Slicet A、Slicet B、Slicet C
JointTec 数据:Jointt A、Jointt B、Jointt C
木材数据:木材 A,(切片 A,切片 C),(Jointt B,Jointt C)
在选择Wood AOffer
时,我需要显示Slicet A和Slicet B选项。
class Offer(models.Model):
name = models.CharField(max_length=200, verbose_name='Adınız Soyadınız')
phone = models.BigIntegerField(verbose_name='Telefon Numaranız')
email = models.EmailField(verbose_name='E-mail Adresiniz')
date = models.DateTimeField(verbose_name='Teklif Tarihi')
frontWood = models.ForeignKey('Wood', on_delete=models.PROTECT)
frontSlice = models.CharField(max_length=200)
frontJoint = models.CharField(max_length=200)
frontSupport = models.ForeignKey('Support', on_delete=models.PROTECT)
frontThick = models.CharField(max_length=200)
frontDimen = models.CharField(max_length=200)
frontFlow = models.ForeignKey('Flow', on_delete=models.PROTECT)
frontGlue = models.ForeignKey('Glue', on_delete=models.PROTECT)
class Meta:
verbose_name = 'Teklif Talebi'
verbose_name_plural = 'Teklif Talepleri'
def __str__(self):
return self.name
class Wood(models.Model):
woodName = models.CharField(max_length=200, verbose_name='Ahşap Adı')
woodCode = models.CharField(max_length=50, verbose_name='Stok Kodu', blank=True, null=True)
woodSlice = models.ManyToManyField('SliceTec', verbose_name='Uygun Kesim Teknikleri')
woodJoint = models.ManyToManyField('JointTec', verbose_name='Uygun Ekleme Teknikleri')
woodImage = models.ImageField(verbose_name='Görsel', blank=True, null=True)
woodPrice = models.PositiveIntegerField(verbose_name='Fiyat Düzeyi', blank=True, null=True)
woodDesc = models.TextField(verbose_name='Açıklama', blank=True, null=True)
class Meta:
verbose_name = 'Ahşap Türü'
verbose_name_plural = 'Ahşap Türleri'
def __str__(self):
return self.woodName
class SliceTec(models.Model):
sliceName = models.CharField(max_length=200, verbose_name='Kesim Tekniği Adı')
sliceImage = models.ImageField(verbose_name='Görsel', blank=True, null=True)
sliceDesc = models.TextField(verbose_name='Açıklama', blank=True, null=True)
class Meta:
verbose_name = 'Kesim Tekniği'
verbose_name_plural = 'Kesim Teknikleri'
def __str__(self):
return self.sliceName
class JointTec(models.Model):
jointName = models.CharField(max_length=200, verbose_name='Ekleme Tekniği Adı')
jointImage = models.ImageField(verbose_name='Görsel', blank=True, null=True)
jointDesc = models.TextField(verbose_name='Açıklama', blank=True, null=True)
class Meta:
verbose_name = 'Ekleme Tekniği'
verbose_name_plural = 'Ekleme Teknikleri'
def __str__(self):
return self.jointName