嘿,我已经浏览了一些关于SO的一些simliar帖子,但还没有找到解决我问题的任何东西.我有以下型号,
from django.db import models
class Areas(models.Model):
name = models.CharField(max_length = 120)
order_in_sidebar_network = models.IntegerField(blank=True, null=True)
order_in_section_network = models.IntegerField(blank=True, null=True)
def __unicode__ (self):
return self.area_name
class Meta:
verbose_name_plural = "Areas"
verbose_name = "Area"
class Countries(models.Model):
name = models.CharField(max_length = 120, help_text = "The name of the country")
area = models.ForeignKey(Areas, verbose_name = 'Area')
def __unicode__ (self):
return self.name
class Meta:
verbose_name_plural = "Countries"
verbose_name = "Country"
ordering = ['name']
class Offices(models.Model):
country = models.ForeignKey(Countries, verbose_name = 'Country')
name = models.CharField(max_length …Run Code Online (Sandbox Code Playgroud) 假设我有两个模型:
class Human(models.Model):
name= models.CharField(#...
class Jacket(models.Model):
owner = models.ForeignKey(Human, #...
Run Code Online (Sandbox Code Playgroud)
所以,多亏了这个问题,我才知道我可以通过以下方式获得所有人类夹克:human_object.jacket_set
现在我想获得一个包含所有拥有夹克的人类的查询集。受这个问题的启发,我尝试了这样的事情,
Human.objects.exclude(jacket__set=None)
Run Code Online (Sandbox Code Playgroud)
但如果这可行的话我就不会在这里了。
我正在开发一个 Django 项目,并尝试为我的数据创建一些链接模型,我认为这些模型正在工作,但我似乎无法弄清楚如何访问链接数据。
class One(models.Model)
name = models.CharField(max_length=50)
list = models.ArrayField(models.CharField(max_length=50), blank=True)
def __str__(self):
return self.name
class Many(models.Model)
name = models.CharField(max_length=50)
related = models.ForeignKey(One, null=True, blank=True)
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
这是我建立的一般关系。
我想做的是,在模板中可以访问所有“Ones”的列表,并且通过每个“Ones”,可以访问每个“Many”及其相关属性。我可以看到如何访问单个“一个”的属性,但不知道如何传递所有这些属性及其相关的“许多”模型以及每个模型的相关属性。本质上,我想要的输出会有一个包含 One 的下拉列表,当提交此列表时,一些 Javascript 将使用“Many”模型中的列表来执行一些操作。
任何建议将不胜感激。
下面是我的模型,用于查看发生错误的位置,特别是在 StockQuantity 模型中发生错误时,当我尝试过滤或使用 get 检索查询时,它显示预期的数字,但得到“字符串值”
模型.py
# Item
class Item(models.Model):
title = models.CharField(max_length=100)
price = models.FloatField()
discount_price = models.FloatField(blank=True, null=True)
category = models.ForeignKey(
'Category', on_delete=models.CASCADE, null=True)
label = models.CharField(choices=LABEL_CHOICES, max_length=1)
slug = models.SlugField()
description = models.TextField()
# stock_quantity = models.IntegerField(blank=True, null=True)
cover_image = models.ImageField(blank=True, null=True,
upload_to=item_cover_upload_location, default='no-product-image.jpg')
is_footwear = models.BooleanField(default=False)
upload_date = models.DateTimeField(default=timezone.now)
# StockQuantity
class StockQuantity(models.Model):
item = models.ForeignKey('Item', on_delete=models.CASCADE, null=True)
color = models.ForeignKey(
'ItemColor', on_delete=models.CASCADE)
cloth_size = models.ForeignKey(
'ClothSize', on_delete=models.CASCADE, blank=True, null=True)
footwear_size = models.ForeignKey(
'FootwearSize', on_delete=models.CASCADE, blank=True, …Run Code Online (Sandbox Code Playgroud)