python - 在 django 中获取相同 id 的多个条目
问题描述
我正在尝试在主键的帮助下进行查询并检索该特定用户下列出的所有数据。我正在获取数据,但它仅包含一个数据,但我应该得到三个。
以下是观点:
def eachlead(request, pk):
# print(pk)
lead = Lead.objects.get(id=pk)
leadinfo = LeadDetail.objects.filter(id=pk)
print(list(leadinfo))
return render(request, "onelead.html", {'lead': lead, 'leadinfo': leadinfo})
这里是模型:
class LeadDetail(models.Model):
Lead = models.ForeignKey(Lead, on_delete=models.CASCADE)
files = models.FileField(blank=True, upload_to='media')
tasks = models.TextField(max_length=1000)
def __str__(self):
return self.Lead.first_name
class Lead(models.Model):
lead_status = (
('Potential', 'Potential'),
('Prospect', 'Prospect'),
('Negotiation', 'Negotiation'),
('Converted', 'Converted'),
('Failed', 'Failed')
)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
age = models.IntegerField(default=0)
city = models.CharField(max_length=25, null=True)
country = models.CharField(max_length=30, null=True)
email = models.EmailField(max_length=50, null=True)
agent = models.ForeignKey('Agent', on_delete=models.CASCADE, null=True)
status = models.CharField(max_length=15, choices=lead_status, null=True)
avatar = models.ImageField(null=True, upload_to='media')
def __str__(self):
return self.first_name
我得到的响应是[<LeadDetail: Test1111>]
或者[{'id': 1, 'Lead_id': 1, 'files': 'media/dummy.pdf', 'tasks': 'Meeting at 19:00 Friday'}]
但是这个 ID 下有 3 个任务:
解决方案
因为您试图LeadDetail
从查询中获取,但 pk 只有一个值。id
您必须使用 过滤,而不是直接通过过滤lead
。
def eachlead(request, pk):
# print(pk)
lead = Lead.objects.get(id=pk)
leadinfo = LeadDetail.objects.filter(Lead=lead)
或者,您也可以这样做:
def eachlead(request, pk):
# print(pk)
lead = Lead.objects.get(id=pk)
leadinfo = LeadDetail.objects.filter(Lead__id=pk)
参考django 查询集。
推荐阅读
- node.js - Express Validator,一种检查多种表格的功能
- reactjs - 如何在 ReactJS 中呈现存储为字符串的 jsx
- python - TypeError: POST 数据应该是字节
- r - 为什么 purrr 中的 map2() 不能始终如一地工作?
- javascript - 如何让函数调用自身 n 次
- .net - 字节[]字节=新字节[256];在 clr 中
- c++ - 从临时返回按值 string_view 时,有没有办法获得编译器警告?
- haskell - 我可以说服 stack / ghci *only* 加载本地 .ghci 文件吗?
- python-3.x - checkmarx 是否支持 python 的cherrypy 框架?
- json - Dart/flutter:如何在将 map<> 序列化/反序列化为 json 时修复“意外字符”错误?