我有两张桌子,其中一张有fk。在
家长:
+----+---------+
| Id | Name |
+----+---------+
| 1 | Test #1 |
| 2 | Test #2 |
| 3 | Test #3 |
+----+---------+
和孩子:
^{pr2}$我需要为窗体创建一个queryset,以便按键连接表,类似于:
select p.parent_id, p.traffic, c.name from child c, parent p where c.parent_id = p.id
有什么简单的方法吗?在
编辑: 好的,我会给你看我需要的样品。 服务器和资源有两种型号:
class Server(models.Model):
public_name = models.CharField(_(u'public name'),
max_length=60,
blank=False,
null=False,
unique=False)
server_ident = models.CharField(_(u'server identificator'),
max_length=100,
blank=False,
null=False,
unique=True)
class Meta:
db_table = 'server'
ordering = ('public_name',)
abstract = False
def __unicode__(self):
return self.public_name
以及:
class Resources(models.Model):
server = models.ForeignKey(Server,
on_delete=models.CASCADE)
traffic_left = models.FloatField(_(u'traffic left'),
blank=False,
null=False,
default=0.0)
requests_left = models.IntegerField(_(u'requests left'),
blank=False,
null=False,
default=0)
class Meta:
db_table = 'resources'
abstract = False
形式:
class ProjectNewForm(forms.Form):
servers_query = Resources.objects.all()........
project_name = forms.CharField(required=True,
min_length=2,
max_length=14,
label=_(u'Project name'))
project_description = forms.CharField(required=True,
max_length=2000,
widget=forms.Textarea(
attrs={'rows': 4}
),
label=_(u'Project description'))
server = forms.ModelChoiceField(queryset=servers_query,
required=True,
initial=0,
widget=forms.Select,
label=_(u'Server'))
class Meta:
fields = [
'project_name',
'project_description',
'server',
]
我需要在我的模板上显示一个selectbox(“ProjectNewForm中的server”字段),它包含来自服务器模型的公共名称,比如选项标记和资源.server.id就像一个价值观。在
最后我找到了怎么做(感谢pyha论坛的ppl)
形式:
所以,现在我可以在模板中使用服务器字段,如下所示:
^{pr2}$得到良好的结果:
我不确定,也许有更好的方法来解决这类任务,但这个示例对我有用。在
相关问题 更多 >
编程相关推荐