python - Django Querying Relation
问题描述
the code did not return all of the item's name based on employee..? how to solve this probem? did the models wrong? or the query?
MODELS.PY
class Employee(models.Model):
name = models.CharField(max_length=100)
telephone_number = models.CharField(max_length=20)
address = models.TextField()
email = models.EmailField()
class Item(models.Model):
code = models.CharField(max_length=4)
name = models.CharField(max_length=100)
kind = models.CharField(max_length=100)
description = models.TextField()
class Inventory(models.Model):
employee = models.ForeignKey(Employee, on_delete=models.CASCADE)
item = models.ForeignKey(Item, on_delete=models.CASCADE)
def get_absolute_url(self):
return reverse('inventaris-detail', kwargs={'pk': self.pk})
VIEWS.PY how can i get all of the employee's item ?
query_set = Inventory.objects.all()
for query in query_set:
output.append([
query.employee.name,
query.item.name
])
i need something like query.employee.items_set.all()
.. ?
解决方案
You want to get all of the items from an employee? The following should achieve that:
employee = Employee.objects.all()[0] # Just get a random employee, you can do this with more employees too if you want
employees_items = [inventory.item for inventory in employee.inventory_set.all()]
Your code does not logically make a lot of sense though, to be honest. Most likely, there should be a field on a Item
class which is a FK to Inventory
. Your item class should probably be:
class Item(models.Model):
code = models.CharField(max_length=4)
name = models.CharField(max_length=100)
kind = models.CharField(max_length=100)
description = models.TextField()
inventory = models.ForeignKey(Inventory, on_delete=models.CASCADE)
(Of course this will not work since Inventory is defined after this class, but you can just put Inventory above it or use one of the other many methods to solve this problem)
Good luck!
推荐阅读
- android - 有三个错误与预期元素和未解决的引用有关
- kubernetes - Kubernetes 部署/Pod/容器状态
- one-to-many - .Net core Razor Pages 添加许多子行
- reactjs - 如何在我的 React 应用程序上使用 localStorage?
- scala - 在 Scala 中将 Spark SQL 函数名称作为参数传递
- c++ - 类中的静态对象(单例)
- excel-formula - 使用 Excel 根据文本匹配填充年份和月份对应的单元格值
- javascript - 调用 Javascript 的 window.onebeforeunload 时调用 ActionScript 函数
- javascript - 使用 Google Apps 脚本,如何将每张演示文稿幻灯片下载为 pdf?
- javascript - Microsoft Graph API 上的密码更改未触发生命周期事件“subscriptionRemoved”的通知