django - 如何在Django中使用foreignKey链接两个模型,每个模型都有自己的模板
问题描述
我想使用foreignKey链接两个模型,问题是当我尝试这样做时,一个模型没有获得数据库表中下一个模型的foreignKey值。目的是让用户在第一页上填写信息(有自己的模型和模板)然后单击下一步(在具有自己的模型和模板的下一页中填写更多信息)然后单击下一步以获得相同的逻辑。那么当其他用户查看这篇文章时,它必须在一页中显示来自不同模型的所有内容。这是我的代码。
第一个模型
class Map(models.Model):
user = models.ForeignKey(User, default=None, blank=True, null=True, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
position = GeopositionField()
拥有自己的模板
第二个模型
class Post(models.Model):
parent = models.ForeignKey("self", default=None, blank=True, null=True, on_delete=models.CASCADE)
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=None, on_delete=models.CASCADE)
title = models.CharField(max_length=50)
content = models.TextField()
map = models.ForeignKey(Map, related_name='mapkey', default=None, blank=True, null=True, on_delete=models.CASCADE)
拥有自己的模板但也有以下序列化方法(API):
class PostModelSerializer(serializers.ModelSerializer):
user = UserDisplaySerializer(read_only=True)
parent = ParentPostModelSerializer()
map = serializers.SerializerMethodField()
class Meta:
start_date = forms.DateField(widget = forms.SelectDateWidget())
end_date = forms.DateField(widget = forms.SelectDateWidget())
model = Post
fields = [
'id',
'user',
'title',
'content'
'image',
'map',
]
请仅关注地图字段,因为它在上述代码中被隔离,一切正常,但foreignKey。我也没有看到需要在这里包含所有代码,但片段。
我已经为此苦苦挣扎了好几天了。我还需要为第一个模型编写一个 api 吗?对于视图,我使用基于类的视图。
模型 2 的数据库表,在 map 字段上它一直显示为 null。我已经提供了足够的信息。谢谢
解决方案
推荐阅读
- javascript - Node.js:如何处理在字典中查找同名的不同城市?
- spring-boot - 如何在 springboot 项目反应器 Mono 流(用 Kotlin 编写)中进行条件检查?
- c# - 当版本更改时,如何确保共享程序集在 .NET 中与 ABI/API 兼容?
- python - Dict - 如果每个键有多个值,则提取最后一个元素
- visual-studio - 在 Visual Studio 2019 中消失的文本
- jquery - 我想从重定向 URL 中删除尾部斜杠
- python - 用于从指定日期范围获取记录的域返回该范围之外的记录
- c - 数组元素在函数外“丢失”
- azure - Web 应用程序防火墙是否可以在给定的 url 模式上返回 404?
- vb.net - 如何在vb.net中显示数组列表的内容