У меня есть следующие модели:
class Instrument(MPTTModel):
name = models.CharField(max_length=100, null=True, blank=True)
class Instrumentation(models.Model):
name = models.CharField(max_length=100, null=True, blank=True)
category = models.CharField(max_length=100, null=True, blank=True)
instrument = models.ManyToManyField('Instrument', through='InstrumentMap')
class InstrumentMap(models.Model):
instrumentation = models.ForeignKey(Instrumentation, verbose_name=_('instrumentation'), related_name='instrumentmap', null=True, blank=True, on_delete=models.PROTECT)
instrument = models.ForeignKey(Instrument, verbose_name=_('instrument'), related_name='instrumentmap', null=True, blank=True, on_delete=models.PROTECT)
numbers = models.IntegerField(null=True, blank=True)
class Work_Music(MPTTModel, Work):
instrumentation = models.ForeignKey(Instrumentation, verbose_name=_('instrumentation'), related_name='work', null=True, blank=True, on_delete=models.PROTECT)
- Как мне получить доступ ко всем инструментам, находящимся под измерительным объектом, с работы?
Например:
piece = Work_Music.objects.get(pk=self.kwargs['pk'])
Я пытался piece.instrumentation_set.all
. Это не сработало?
Как вы получаете доступ от контрольно-измерительных приборов?
instrumentation = Instrumentation.objects.get(instrumentation__work=self.kwargs['pk'])
Я полагаю, вы делаете for
l oop, когда вы можете захватить объект.
Как получить доступ из карты инструментов?
InstrumentMap = InstrumentMap.objects.filter(instrumentation__work=self.kwargs['pk']).order_by('order')