Python 混淆django关系

Python 混淆django关系,python,django,many-to-one,Python,Django,Many To One,我正在开发一个存储软件,我对Django上的这种关系感到困惑。 该项目的模型有两个类: 地点: class Places(models.Model): tipo = models.CharField(max_length=15, null=True) cnpj = models.CharField(null=True, max_length=11) ie = models.CharField(null=True, max_length=13) cep = mode

我正在开发一个存储软件,我对Django上的这种关系感到困惑。 该项目的模型有两个类:

地点:

class Places(models.Model):
    tipo = models.CharField(max_length=15, null=True)
    cnpj = models.CharField(null=True, max_length=11)
    ie = models.CharField(null=True, max_length=13)
    cep = models.CharField(null=True, max_length=20)
    cidade = models.CharField(null=True, max_length=54)
    bairro = models.CharField(null=True, max_length=54)
    num = models.CharField(null=True, max_length=54)
    rua = models.CharField(null=True, max_length=254)
    maintelefone = models.CharField(null=True, max_length=10)
    sectelefone = models.CharField(null=True, max_length=10)
    contactperson = models.CharField(max_length=200, null=True)
    email = models.CharField(null=True, max_length=254)
    site = models.CharField(null=True, max_length=254)
    razaosocial = models.CharField(null=True, max_length=254)
    fantasia = models.CharField(null=True, max_length=254)
    created = models.DateTimeField(default=timezone.now, editable=False)
    last_updated = models.DateTimeField(default=timezone.now, editable=False)

    def __str__(self):
        return self.razaosocial
和Movementacao:

class Movimentacao(models.Model):
    date = models.DateField(default=timezone.now, null=True)
    produto = models.ForeignKey(
        'Produto', on_delete=models.CASCADE, null=True)  # Automatizar
    qtd = models.IntegerField(null=True, default=1)
    numero_serie = models.CharField(null=True, max_length=154)
    tipoMov = models.CharField(max_length=5, null=True)
    tipo = models.CharField(max_length=5, null=True)
    nf = models.CharField(null=True, max_length=154)
    date_nf = models.DateTimeField(default=timezone.now, null=True)
    origem = models.ForeignKey(
        'Places', on_delete=models.CASCADE, related_name='origemovi', null=True)
    destino = models.ForeignKey(
        'Places', on_delete=models.CASCADE, related_name='destinomovi', null=True)
    obs = models.CharField(max_length=254, null=True)
    created = models.DateTimeField(default=timezone.now, editable=False)

    def __str__(self):
        return self.tipoMov

逻辑是,
Place
可以有一个或多个
Movimentacao
,而
Movimentacao
可以只有一个
Place
(我支持多对一),但我希望
Place
也能得到
Movimentacao
的id,而不仅仅是Movimentacao获得该地点的id。我怎样才能做到这一点呢?

你有你的
origem
destino
外键和它们各自相关的名字。怎么了?是的,我的意思是当我通过一个地方列表时,我找不到这个地方的移动,比如id为2的地方有id为6和7的移动,我只需要id为6的移动有位置2为什么不呢?为什么你不能用
my\u place.orgemovi\u set.all()
查找所有以该位置为原始位置的电影?就是这样,代码:
for i in lista\u places:print(i.origemovi\u set.all())
错误:
AttributeError:“Places”对象没有属性“origemovi\u set”
对不起,您已经将
origemovi
作为相关的\u名称,因此它应该是
i.origemovi.all()
。您的
origem
destino
外键以及它们各自的相关名称。怎么了?是的,我的意思是当我通过一个地方列表时,我找不到这个地方的移动,比如id为2的地方有id为6和7的移动,我只需要id为6的移动有位置2为什么不呢?为什么你不能用
my\u place.orgemovi\u set.all()
查找所有以该位置为原始位置的电影?就是这样,代码:
for i in lista\u places:print(i.origemovi\u set.all())
错误:
AttributeError:“Places”对象没有属性“origemovi\u set”
很抱歉,您将
origemovi
作为相关的\u名称,因此它应该是
i.origemovi.all()