我正在使用模型中的字段,其中字段的值取决于表单中前一个字段中的选定选项(目前通过 django 管理员),我正在使用django-smart-selects
我会分享这个视频,以便更好地了解我的问题或情况,以及询问与我在这种情况下工作的领域相关的应用调试或净化方式的原因。
视频中的父字段
Segmento afectado
让我多选视频中的子字段
Movimiento
,详细说明受影响的片段(在父字段中选择)可以执行的动作
我的情况
在视频中详细说明了一种方式,即当我在父字段中仅选择受影响的段时,在子字段中部署了动作选项,并且我的 Django Server 的日志控制台出现
status code HTTP/1.1 200
了GET
操作,向我表明有可能成功获取和部署与父字段中选择的受影响段相对应的动作但是,当我在父字段中选择多个受影响的段时(如果我在前面选择两个或多个段),我的 django 服务器立即在控制台向我显示
status code HTTP/1.1 404
(Not Found
黄色),因为不执行第二次选择或用户选择的第二个受影响的段,由于这个原因,也不会部署或出现在子字段中,这些第二个受影响的段可以执行的相关动作
我不知道如何解决这种情况,因为在 django 管理员内部表示父 ( Segmento Afectado
) 和子 ( ) 字段的这种形式。Movimiento
我有一个名为的模型AffectedSegment
和另一个名为的模型Movement
,并且通过django-smart-selectsChainedManyToManyField
的功能是如何根据父字段中的选择获取部署在子字段中的值的方式。
我的模型和这种行为的价值链是:
class AffectedSegment(models.Model):
SEGMENTO_ESCAPULA = 'ESCAPULA'
SEGMENTO_HOMBRO = 'HOMBRO'
SEGMENTO_CODO = 'CODO'
SEGMENTO_ANTEBRAZO = 'ANTEBRAZO'
SEGMENTO_CARPO_MUNECA = 'CARPO_MUNECA'
SEGMENTO_MANO = 'MANO'
SEGMENTO_CHOICES = (
(SEGMENTO_ESCAPULA, u'Escápula'),
(SEGMENTO_HOMBRO, u'Hombro'),
(SEGMENTO_CODO, u'Codo'),
(SEGMENTO_ANTEBRAZO, u'Antebrazo'),
(SEGMENTO_CARPO_MUNECA, u'Carpo/Muñeca'),
(SEGMENTO_MANO, u'Mano'),
)
affected_segment = models.CharField(max_length=12, choices=SEGMENTO_CHOICES, blank=False, verbose_name='Segmento afectado')
class Meta:
verbose_name = 'Segmentos corporale'
def __str__(self):
return "%s" % self.affected_segment
class Movement(models.Model):
type = models.CharField(max_length=255,verbose_name='Tipo de movimiento')
corporal_segment_associated = models.ManyToManyField(AffectedSegment, blank=False, verbose_name='Segmento corporal asociado')
class Meta:
verbose_name = 'Movimiento'
def __str__(self):
return "%s" % self.type
并且我得到子字段中的运动根据父字段上的选择出现的方式是这样执行的:
class RehabilitationSession(models.Model):
affected_segment = models.ManyToManyField(AffectedSegment,verbose_name='Segmento afectado')
movement = ChainedManyToManyField(
Movement, #Modelo encadenado
chained_field = 'affected_segment',
chained_model_field = 'corporal_segment_associated',
verbose_name='Movimiento'
)
class Meta:
verbose_name = 'Sesiones de Rehabilitación'
def __str__(self):
return "%s" % self.affected_segment
我不知道如何解决这种情况。我还有什么其他选择?JS,一些框架forntend?另一个 django 应用程序?
任何支持,关于它的方向,将不胜感激
:D