你好,我有这个模型:
class Mercadoria(models.Model):
idmercadoria = models.IntegerField(verbose_name=u'Código', primary_key=True)
referencia = models.CharField(verbose_name=u'Referência', max_length=30)
descricao = models.CharField(verbose_name=u'Descrição', max_length=250)
status = models.CharField(verbose_name=u'Status', max_length=1)
class Meta:
ordering = ['referencia', 'descricao']
managed = False
db_table = 'mercadoria'
def __unicode__(self):
return self.referencia + ' - ' + self.descricao
class Produto(models.Model):
idproduto = models.IntegerField(verbose_name=u'Código', primary_key=True)
idmercadoria = models.ForeignKey('Mercadoria', db_column='idmercadoria',
verbose_name=u'Mercadoria')
idtamanho = models.ForeignKey('Tamanho', db_column='idtamanho',
verbose_name=u'Tamanho')
idcores = models.ForeignKey('Cores', db_column='idcores',
verbose_name=u'Cores')
estoqueatual = models.DecimalField(u'Estoque Atual', max_digits=18,
decimal_places=4, null=False, default=0)
saldodisponivel = models.DecimalField(u'Saldo Disponível', max_digits=18,
decimal_places=4, null=False, default=0)
codigobarra = models.CharField(verbose_name=u'Código Barras', max_length=13)
tipoproduto = models.CharField(verbose_name=u'Tipo Produto', max_length=1)
class Meta:
ordering = ['idmercadoria']
managed = False
db_table = 'produto'
class ItensPedido(models.Model):
idpedido = models.ForeignKey('Pedido', db_column='idpedido',
primary_key=True, default=-1)
idproduto = models.ForeignKey('Produto', db_column='idproduto')
我在使用“ItensPedido”模型从“Mercadoria”模型中获取“referencia”字段时遇到问题。
问题是:这个数据库是遗留数据库,被你的 ERP Delphi 软件使用,而设计数据库的人,是疯了!在我的模板中,我想获取“Mercadoria”模型数据。
我试试这个:{{ itens.idproduto.idmercadoria.descricao.value }}
e{{ itens.idproduto__idmercadoria__descricao.value }}
但不起作用。
我尝试修改我的视图以开始select_related()
工作,如下所示:
def get_field_qs(field, **kwargs):
if field.name == 'idproduto':
field.queryset = Produto.objects.select_related()
return field.formfield(**kwargs)
ItensInlineFormSet = inlineformset_factory(Pedido, ItensPedido, form=PedidoItensForm,
extra=1, fk_name='idpedido', formfield_callback=get_field_qs)
同样的问题..没有向我显示“mercadoria”模型的数据。
我做错了什么?
谢谢