gpt4 book ai didi

Django 反向外键查找返回 None

转载 作者:行者123 更新时间:2023-12-02 05:10:38 24 4
gpt4 key购买 nike

我是 Django 开发的新手,刚开始编写应用程序。我在 models.py 中定义了两个类:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class NEO(models.Model):
name = models.CharField(max_length=100, default=' ')
sighter = models.ForeignKey(User, blank=True, null=True)
date_sighted = models.DateTimeField(default=timezone.now())
ratings = models.IntegerField(default=0)
#coords = models.ForeignKey('Coords', default='')

def __unicode__(self):
return self.name

class Coords(models.Model):
ra = models.FloatField('Right Ascension', default=0)
dec = models.FloatField('Declination', default=0)
neo = models.ForeignKey(NEO, related_name='neo_coords', null=True)

def __unicode__(self):
return str(self.ra) + ' ' + str(self.dec)

每个 Coords 对象都链接到一个 NEO,反之亦然。取消注释 Neo.Coords 行,然后调用 n.Coords 返回 None。给定一个 NEO 对象,如何获取对应的 Coords 对象?

最佳答案

这里的 ForeignKey 是 ManyToOne 关系 ( as suggested in the docs ),因此在您的情况下,多个 Coords 对象可以绑定(bind)到单个 NEO 对象。如果您想要一对一关系,您可能需要使用 models.OneToOneField ( documentation here )。

在外键查找的情况下,您可以使用。

NEO.coords_set.get(**lookup_arguments_here)
# Here NEO.coords_set is the list of coords objects bound to this particular NEO object.

OneToOne 的情况下,您可以简单地使用

NEO.coords

关于Django 反向外键查找返回 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15521726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com