Python 为什么我无法访问django模板中的外键信息。
我正在开发一个django应用程序,它需要创建XML文件来响应请求。我的模型设置如下:Python 为什么我无法访问django模板中的外键信息。,python,django,Python,Django,我正在开发一个django应用程序,它需要创建XML文件来响应请求。我的模型设置如下: # This is an auto-generated Django model module. # You'll have to do the following manually to clean this up: # * Rearrange models' order # * Make sure each model has one field with primary_key=True #
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
# * Rearrange models' order
# * Make sure each model has one field with primary_key=True
# * Make sure each ForeignKey has `on_delete` set to the desired behavior.
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names.
from django.db import models
class Color(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', unique=True, max_length=255) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Colors'
def __str__(self):
return "Color: [" + self.id.__str__() + ", " + self.name + "] "
class Company(models.Model):
orders = models.ManyToManyField('Order', through='OrderCompany')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Companies'
def __str__(self):
return "Company:[" + self.orders.__str__() + ", " + self.id.__str__() + ", " + self.name + "] "
class ModelColor(models.Model):
color = models.ForeignKey(Color, models.DO_NOTHING, db_column='ColorID')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelColors'
def __str__(self):
return "ModelColor:[" + self.color + ", " + self.id.__str__() + "] "
class ModelData(models.Model):
colors = models.ManyToManyField('Color', through='ModelDataColor')
sizes = models.ManyToManyField('Size', through='ModelDataSize')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255) # Field name made lowercase.
descript = models.CharField(db_column='Descript', max_length=2047, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelData'
def __str__(self):
return "ModelData:[" + self.colors.__str__() + ", " + self.sizes.__str__() + ", " + self.id.__str__() + ", " + self.name + ", " + self.descript + ", " + "] "
class Modeldatacolor(models.Model):
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID', primary_key=True)
color = models.ForeignKey(Color, models.DO_NOTHING, db_column='ColorID')
class Meta:
managed = False
db_table = 'Data_ModelDataColors'
unique_together = (('model_data', 'color'),)
def __str__(self):
return "Modeldatacolor:[" + self.model_data.__str__() + ", " + self.color.__str__() + "] "
class Modeldatasize(models.Model):
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID', primary_key=True)
size = models.ForeignKey('Size', models.DO_NOTHING, db_column='SizeID')
class Meta:
managed = False
db_table = 'Data_ModelDataSizes'
unique_together = (('model_data', 'size'),)
def __str__(self):
return "Modeldatasize:[" + self.model_data.__str__() + ", " + self.size.__str__() + "] "
class Modelsize(models.Model):
color = models.ForeignKey(ModelColor, models.DO_NOTHING, db_column='ColorID')
size = models.ForeignKey('size', models.DO_NOTHING, db_column='SizeID')
amount = models.IntegerField(db_column='Amount') # Field name made lowercase.
amountfinished = models.IntegerField(db_column='AmountFinished') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelSizes'
def __str__(self):
return "Modelsize:[" + self.color.__str__() + ", " + self.size.__str__() + ", " + self.amount+ ", " + self.amountfinished + "] "
class Model(models.Model):
model_color = models.ForeignKey(ModelColor, models.DO_NOTHING, db_column='ModelColorID')
order = models.ForeignKey('Order', models.DO_NOTHING, db_column='OrderID')
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Models'
def __str__(self):
return "Model:[" + self.model_color.__str__() + ", " + self.order.__str__() + ", " + self.model_data.__str__() + ", " + self.id.__str__() + "] "
class Ordercompany(models.Model):
order = models.ForeignKey('Order', models.DO_NOTHING, db_column='OrderID', primary_key=True)
company = models.ForeignKey(Company, models.DO_NOTHING, db_column='CompanyID')
stage_number = models.IntegerField(db_column='StageNumber')
class Meta:
managed = False
db_table = 'Data_OrderCompanies'
unique_together = (('order', 'company'),)
def __str__(self):
return "Ordercompany:[" + self.order.__str__() + ", " + self.company.__str__() + ", " + self.stage_number + "] "
class Order(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
ordertimestamp = models.DateTimeField(db_column='OrderTimeStamp', blank=True, null=True) # Field name made lowercase.
finishtimestamp = models.DateTimeField(db_column='FinishTimeStamp', blank=True, null=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255) # Field name made lowercase.
confirmed = models.IntegerField(db_column='Confirmed') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Orders'
def __str__(self):
self.ordertimestamp = "None"
self.finishtimestamp = "None"
return "Order:[" + self.id.__str__() + ", " + self.ordertimestamp + ", " + self.finishtimestamp + ", " + self.name + ", " + self.confirmed.__str__() + "] "
class Size(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', unique=True, max_length=255) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Sizes'
def __str__(self):
return "Size: [" + self.id.__str__() + ", " + self.name + "] "
def index(request):
template = loader.get_template('orders/responseTemplate.xml')
company = Company.objects.get(id=10) # remember to use `get` for a single item
order_list = company.orders.all()
tpcontext = {'orderList': order_list}
return HttpResponse(template.render(tpcontext, request))
<?xml version="1.0" encoding="UTF-8"?>
<orders>
{% for order in orderList %}
<order id="{{ order.id }}">
<models>
{% for model in order.model_set.all %}
<model id="{{ model.id }}">
<name>{{model.model_data.name}}</name>
{% for color in model.model_color_set.all %}
<color name="'{{color.color.name}}'">
{% for size in color.modelsize_set.all %}
<sizeAmount name="'{{size.size.name}}'">{{size.amount}}</sizeAmount>
{% endfor%}
</color>
{% endfor%}
</model>
{% endfor %}
</models>
</order>
{% endfor %}
</orders>
<?xml version="1.0" encoding="UTF-8"?>
<orders>
<order id="16">
<models>
<model id="17">
<name>Pants</name>
</model>
<model id="18">
<name>Pants</name>
</model>
</models>
</order>
</orders>
我调用创建模板,如下所示:
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
# * Rearrange models' order
# * Make sure each model has one field with primary_key=True
# * Make sure each ForeignKey has `on_delete` set to the desired behavior.
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names.
from django.db import models
class Color(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', unique=True, max_length=255) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Colors'
def __str__(self):
return "Color: [" + self.id.__str__() + ", " + self.name + "] "
class Company(models.Model):
orders = models.ManyToManyField('Order', through='OrderCompany')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Companies'
def __str__(self):
return "Company:[" + self.orders.__str__() + ", " + self.id.__str__() + ", " + self.name + "] "
class ModelColor(models.Model):
color = models.ForeignKey(Color, models.DO_NOTHING, db_column='ColorID')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelColors'
def __str__(self):
return "ModelColor:[" + self.color + ", " + self.id.__str__() + "] "
class ModelData(models.Model):
colors = models.ManyToManyField('Color', through='ModelDataColor')
sizes = models.ManyToManyField('Size', through='ModelDataSize')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255) # Field name made lowercase.
descript = models.CharField(db_column='Descript', max_length=2047, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelData'
def __str__(self):
return "ModelData:[" + self.colors.__str__() + ", " + self.sizes.__str__() + ", " + self.id.__str__() + ", " + self.name + ", " + self.descript + ", " + "] "
class Modeldatacolor(models.Model):
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID', primary_key=True)
color = models.ForeignKey(Color, models.DO_NOTHING, db_column='ColorID')
class Meta:
managed = False
db_table = 'Data_ModelDataColors'
unique_together = (('model_data', 'color'),)
def __str__(self):
return "Modeldatacolor:[" + self.model_data.__str__() + ", " + self.color.__str__() + "] "
class Modeldatasize(models.Model):
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID', primary_key=True)
size = models.ForeignKey('Size', models.DO_NOTHING, db_column='SizeID')
class Meta:
managed = False
db_table = 'Data_ModelDataSizes'
unique_together = (('model_data', 'size'),)
def __str__(self):
return "Modeldatasize:[" + self.model_data.__str__() + ", " + self.size.__str__() + "] "
class Modelsize(models.Model):
color = models.ForeignKey(ModelColor, models.DO_NOTHING, db_column='ColorID')
size = models.ForeignKey('size', models.DO_NOTHING, db_column='SizeID')
amount = models.IntegerField(db_column='Amount') # Field name made lowercase.
amountfinished = models.IntegerField(db_column='AmountFinished') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelSizes'
def __str__(self):
return "Modelsize:[" + self.color.__str__() + ", " + self.size.__str__() + ", " + self.amount+ ", " + self.amountfinished + "] "
class Model(models.Model):
model_color = models.ForeignKey(ModelColor, models.DO_NOTHING, db_column='ModelColorID')
order = models.ForeignKey('Order', models.DO_NOTHING, db_column='OrderID')
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Models'
def __str__(self):
return "Model:[" + self.model_color.__str__() + ", " + self.order.__str__() + ", " + self.model_data.__str__() + ", " + self.id.__str__() + "] "
class Ordercompany(models.Model):
order = models.ForeignKey('Order', models.DO_NOTHING, db_column='OrderID', primary_key=True)
company = models.ForeignKey(Company, models.DO_NOTHING, db_column='CompanyID')
stage_number = models.IntegerField(db_column='StageNumber')
class Meta:
managed = False
db_table = 'Data_OrderCompanies'
unique_together = (('order', 'company'),)
def __str__(self):
return "Ordercompany:[" + self.order.__str__() + ", " + self.company.__str__() + ", " + self.stage_number + "] "
class Order(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
ordertimestamp = models.DateTimeField(db_column='OrderTimeStamp', blank=True, null=True) # Field name made lowercase.
finishtimestamp = models.DateTimeField(db_column='FinishTimeStamp', blank=True, null=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255) # Field name made lowercase.
confirmed = models.IntegerField(db_column='Confirmed') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Orders'
def __str__(self):
self.ordertimestamp = "None"
self.finishtimestamp = "None"
return "Order:[" + self.id.__str__() + ", " + self.ordertimestamp + ", " + self.finishtimestamp + ", " + self.name + ", " + self.confirmed.__str__() + "] "
class Size(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', unique=True, max_length=255) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Sizes'
def __str__(self):
return "Size: [" + self.id.__str__() + ", " + self.name + "] "
def index(request):
template = loader.get_template('orders/responseTemplate.xml')
company = Company.objects.get(id=10) # remember to use `get` for a single item
order_list = company.orders.all()
tpcontext = {'orderList': order_list}
return HttpResponse(template.render(tpcontext, request))
<?xml version="1.0" encoding="UTF-8"?>
<orders>
{% for order in orderList %}
<order id="{{ order.id }}">
<models>
{% for model in order.model_set.all %}
<model id="{{ model.id }}">
<name>{{model.model_data.name}}</name>
{% for color in model.model_color_set.all %}
<color name="'{{color.color.name}}'">
{% for size in color.modelsize_set.all %}
<sizeAmount name="'{{size.size.name}}'">{{size.amount}}</sizeAmount>
{% endfor%}
</color>
{% endfor%}
</model>
{% endfor %}
</models>
</order>
{% endfor %}
</orders>
<?xml version="1.0" encoding="UTF-8"?>
<orders>
<order id="16">
<models>
<model id="17">
<name>Pants</name>
</model>
<model id="18">
<name>Pants</name>
</model>
</models>
</order>
</orders>
我使用的模板文件如下所示:
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
# * Rearrange models' order
# * Make sure each model has one field with primary_key=True
# * Make sure each ForeignKey has `on_delete` set to the desired behavior.
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names.
from django.db import models
class Color(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', unique=True, max_length=255) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Colors'
def __str__(self):
return "Color: [" + self.id.__str__() + ", " + self.name + "] "
class Company(models.Model):
orders = models.ManyToManyField('Order', through='OrderCompany')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Companies'
def __str__(self):
return "Company:[" + self.orders.__str__() + ", " + self.id.__str__() + ", " + self.name + "] "
class ModelColor(models.Model):
color = models.ForeignKey(Color, models.DO_NOTHING, db_column='ColorID')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelColors'
def __str__(self):
return "ModelColor:[" + self.color + ", " + self.id.__str__() + "] "
class ModelData(models.Model):
colors = models.ManyToManyField('Color', through='ModelDataColor')
sizes = models.ManyToManyField('Size', through='ModelDataSize')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255) # Field name made lowercase.
descript = models.CharField(db_column='Descript', max_length=2047, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelData'
def __str__(self):
return "ModelData:[" + self.colors.__str__() + ", " + self.sizes.__str__() + ", " + self.id.__str__() + ", " + self.name + ", " + self.descript + ", " + "] "
class Modeldatacolor(models.Model):
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID', primary_key=True)
color = models.ForeignKey(Color, models.DO_NOTHING, db_column='ColorID')
class Meta:
managed = False
db_table = 'Data_ModelDataColors'
unique_together = (('model_data', 'color'),)
def __str__(self):
return "Modeldatacolor:[" + self.model_data.__str__() + ", " + self.color.__str__() + "] "
class Modeldatasize(models.Model):
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID', primary_key=True)
size = models.ForeignKey('Size', models.DO_NOTHING, db_column='SizeID')
class Meta:
managed = False
db_table = 'Data_ModelDataSizes'
unique_together = (('model_data', 'size'),)
def __str__(self):
return "Modeldatasize:[" + self.model_data.__str__() + ", " + self.size.__str__() + "] "
class Modelsize(models.Model):
color = models.ForeignKey(ModelColor, models.DO_NOTHING, db_column='ColorID')
size = models.ForeignKey('size', models.DO_NOTHING, db_column='SizeID')
amount = models.IntegerField(db_column='Amount') # Field name made lowercase.
amountfinished = models.IntegerField(db_column='AmountFinished') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_ModelSizes'
def __str__(self):
return "Modelsize:[" + self.color.__str__() + ", " + self.size.__str__() + ", " + self.amount+ ", " + self.amountfinished + "] "
class Model(models.Model):
model_color = models.ForeignKey(ModelColor, models.DO_NOTHING, db_column='ModelColorID')
order = models.ForeignKey('Order', models.DO_NOTHING, db_column='OrderID')
model_data = models.ForeignKey(ModelData, models.DO_NOTHING, db_column='ModelDataID')
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Models'
def __str__(self):
return "Model:[" + self.model_color.__str__() + ", " + self.order.__str__() + ", " + self.model_data.__str__() + ", " + self.id.__str__() + "] "
class Ordercompany(models.Model):
order = models.ForeignKey('Order', models.DO_NOTHING, db_column='OrderID', primary_key=True)
company = models.ForeignKey(Company, models.DO_NOTHING, db_column='CompanyID')
stage_number = models.IntegerField(db_column='StageNumber')
class Meta:
managed = False
db_table = 'Data_OrderCompanies'
unique_together = (('order', 'company'),)
def __str__(self):
return "Ordercompany:[" + self.order.__str__() + ", " + self.company.__str__() + ", " + self.stage_number + "] "
class Order(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
ordertimestamp = models.DateTimeField(db_column='OrderTimeStamp', blank=True, null=True) # Field name made lowercase.
finishtimestamp = models.DateTimeField(db_column='FinishTimeStamp', blank=True, null=True) # Field name made lowercase.
name = models.CharField(db_column='Name', max_length=255) # Field name made lowercase.
confirmed = models.IntegerField(db_column='Confirmed') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Orders'
def __str__(self):
self.ordertimestamp = "None"
self.finishtimestamp = "None"
return "Order:[" + self.id.__str__() + ", " + self.ordertimestamp + ", " + self.finishtimestamp + ", " + self.name + ", " + self.confirmed.__str__() + "] "
class Size(models.Model):
id = models.AutoField(db_column='ID', primary_key=True) # Field name made lowercase.
name = models.CharField(db_column='Name', unique=True, max_length=255) # Field name made lowercase.
class Meta:
managed = False
db_table = 'Data_Sizes'
def __str__(self):
return "Size: [" + self.id.__str__() + ", " + self.name + "] "
def index(request):
template = loader.get_template('orders/responseTemplate.xml')
company = Company.objects.get(id=10) # remember to use `get` for a single item
order_list = company.orders.all()
tpcontext = {'orderList': order_list}
return HttpResponse(template.render(tpcontext, request))
<?xml version="1.0" encoding="UTF-8"?>
<orders>
{% for order in orderList %}
<order id="{{ order.id }}">
<models>
{% for model in order.model_set.all %}
<model id="{{ model.id }}">
<name>{{model.model_data.name}}</name>
{% for color in model.model_color_set.all %}
<color name="'{{color.color.name}}'">
{% for size in color.modelsize_set.all %}
<sizeAmount name="'{{size.size.name}}'">{{size.amount}}</sizeAmount>
{% endfor%}
</color>
{% endfor%}
</model>
{% endfor %}
</models>
</order>
{% endfor %}
</orders>
<?xml version="1.0" encoding="UTF-8"?>
<orders>
<order id="16">
<models>
<model id="17">
<name>Pants</name>
</model>
<model id="18">
<name>Pants</name>
</model>
</models>
</order>
</orders>
但是我不知道那个错误是什么 您是否尝试过
model.modelcolor\u set.all
?
Django在将
CamelCase
型号名称转换为小写时不会添加下划线。您是否尝试过model.modelcolor\u set.all
?
Django在将
CamelCase
模型名称转换为小写时不添加下划线。模型和模型颜色之间存在一对一的关系,因此使用集合没有意义
看起来您可能试图访问的是ModelData模型的颜色集。你可以这样做:
{% for model in order.model_set.all %}
<model id="{{ model.id }}">
<name>{{model.model_data.name}}</name>
Colors:
{% for color in model.model_data.colors_set.all %}
{{ color.name }}
{% endfor %}
{% endfor %}
{%用于order.model\u set.all%}
{{model.model_data.name}
颜色:
{model.model_data.colors_set.all%}
{{color.name}
{%endfor%}
{%endfor%}
Model和ModelColor之间存在一对一的关系,因此使用集合没有意义
看起来您可能试图访问的是ModelData模型的颜色集。你可以这样做:
{% for model in order.model_set.all %}
<model id="{{ model.id }}">
<name>{{model.model_data.name}}</name>
Colors:
{% for color in model.model_data.colors_set.all %}
{{ color.name }}
{% endfor %}
{% endfor %}
{%用于order.model\u set.all%}
{{model.model_data.name}
颜色:
{model.model_data.colors_set.all%}
{{color.name}
{%endfor%}
{%endfor%}
您的模型定义了一个从模型到模型的外键颜色。这意味着每个模型只有一个modelcolor。这里没有\u集合
,也没有可迭代的内容;可以按照外键获取该模型的单色。您可以使用with
标记使其稍微易于使用
<model id="{{ model.id }}">
<name>{{model.model_data.name}}</name>
{% with model.model_color as color %}
<color name="'{{color.color.name}}'">
{% for size in color.modelsize_set.all %}
<sizeAmount name="'{{size.size.name}}'">{{size.amount}}</sizeAmount>
{% endfor%}
</color>
{% endwith %}
{{model.model_data.name}
{%使用model.model_颜色作为颜色%}
{%表示color.modelsize\u set.all%}
{{size.amount}}
{%endfor%}
{%endwith%}
您的模型定义了一个从模型到模型的外键颜色。这意味着每个模型只有一个modelcolor。这里没有\u集合
,也没有可迭代的内容;可以按照外键获取该模型的单色。您可以使用with
标记使其稍微易于使用
<model id="{{ model.id }}">
<name>{{model.model_data.name}}</name>
{% with model.model_color as color %}
<color name="'{{color.color.name}}'">
{% for size in color.modelsize_set.all %}
<sizeAmount name="'{{size.size.name}}'">{{size.amount}}</sizeAmount>
{% endfor%}
</color>
{% endwith %}
{{model.model_data.name}
{%使用model.model_颜色作为颜色%}
{%表示color.modelsize\u set.all%}
{{size.amount}}
{%endfor%}
{%endwith%}
是否有任何理由通过ModelColor模型指定模型的颜色?为什么不通过外键直接将模型链接到颜色?这将使您尝试做的事情变得更加简单。因此,我正在使用一个数据库,该数据库不仅由django应用程序使用。事实上,每个表中都有很多我并不真正关心的列。在我特定的django项目中,使用所有这些字段确实没有意义,因为我永远不会真正使用它们,所以这就是为什么它看起来有点奇怪明白了-请参阅下面的答案。这能解决问题吗?不,不能。这可能是因为字段中有一个\uu
符号吗?也许django不喜欢这样?明白了。您的颜色是否直接通过外键在模型中指定?还是通过ModelData模型链接?如果是后者,这将是一个不同的解决方案,我很乐意对此进行一些思考。是否有任何理由通过ModelColor模型指定模型的颜色?为什么不通过外键直接将模型链接到颜色?这将使您尝试做的事情变得更加简单。因此,我正在使用一个数据库,该数据库不仅由django应用程序使用。事实上,每个表中都有很多我并不真正关心的列。在我特定的django项目中,使用所有这些字段确实没有意义,因为我永远不会真正使用它们,所以这就是为什么它看起来有点奇怪明白了-请参阅下面的答案。这能解决问题吗?不,不能。这可能是因为字段中有一个\uu
符号吗?也许django不喜欢这样?明白了。您的颜色是否直接通过外键在模型中指定?还是通过ModelData模型链接?如果是后者,这将是一个不同的解决方案,我很乐意考虑一下。在Model
Model(右混淆)中,字段名为Model\u color
,因此我假设它会将其留在那里。我试过了,但似乎不起作用。还尝试按照Sam的建议删除\u集合
部分在模型中
模型(右混淆)字段名为模型颜色
,因此我假设它会将其留在那里。我试过了,但似乎不起作用。还尝试按照Sam的建议删除\u set
部分。这似乎也不起作用。(也尝试了py_dude提供的答案)好吧,我得等到本周晚些时候再回去工作!更新:不,颜色的名称也会显示,但是,我无法显示“sizeAmount”字段。这似乎也不起作用。(也尝试了py_dude提供的答案)好吧,我得等到本周晚些时候再回去工作!更新:否颜色的名称也会显示,但是,我无法显示“sizeAmount”字段。