gpt4 book ai didi

python - Django - 使用外键引用另一个模型的数据

转载 作者:太空宇宙 更新时间:2023-11-03 18:28:34 25 4
gpt4 key购买 nike

我是 Django 新手,所以请告诉我我是否走在正确的道路上。我正在构建一个 Django 项目,只是想问一下从一个模型检索数据并在另一个模型中使用它的正确 Django 方法是什么。

我有一个 for 循环将所需的字段分配给变量,但我一直在寻找一种更干净的解决方案,如果存在,则使用外键。

以下是所涉及代码的示例:

#MODELS

class Class1(models.Model):
tag_number = models.CharField(max_length = 300, null = True, blank = True)
example1 = models.CharField(max_length = 300, null = True, blank = True)
example2 = models.CharField(max_length = 300, null = True, blank = True)

class Class2(models.Model):
tag = models.ForeignKey(Class1, related_name = 'tag_foreignkey')
example3 = models.CharField(max_length = 300, null = True, blank = True)
example4 = models.CharField(max_length = 300, null = True, blank = True)



#VIEWS - This view is for Class2 but referencing fields from Class1

tag_number = str(instrumentform.cleaned_data['tag'])
query_results = Class1.objects.filter(tag_number = tag_number)
for query_result in query_results:
example5 = query_result.example1
example6 = query_result.example2

上面的方法有效,但我认为这不是 Django 的做事方式,并且没有利用外键。

如果有人能在正确的方向上插入我,我将不胜感激。

最佳答案

不过,并不是百分百知道你想要什么,因为那里缺少一些信息。对于 Class1,您应该像对 Class2 所做的那样,使用外键来存储标记。

对于您在底部编写的代码,有一个简单的方法可以做到这一点。 (假设您已经使用了外键)

tag_number = int(instrumentform.cleaned_data['tag'])
for query_result in Class1.objects.filter(tag = tag_number).values_list('example1', 'exmaple2'):
example5, example6 = query_result

关于python - Django - 使用外键引用另一个模型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22763055/

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