已经有几个问题要求同样的事情。但它们是 2010 年的,对我没有太大帮助。所以我认为这可能是自 2010 年以来这方面的一些更新?
在谷歌上我找到了这个链接,它解释了自然键的用法。但是,我担心从中获取异物的问题,django.contrib.auth.models.User
因此无济于事。
我的问题如下。我想序列化 QuerySet 所以我也得到外键对象,因为我想将它作为 JSON 传递给客户端。来自的序列化django.core
程序不会这样做。因此,在我的情况下,为了简单地解决问题,我在模型中添加了另一个字段以包含我需要的来自外来对象的值。但是它引入了冗余数据。
我的示例模型包含username
我希望尽可能删除的模型,而是通过外键获取它。
user = models.ForeignKey(User)
username = models.CharField(max_length=100, null=False)