我有一个包含我的实体的视图odel。它看起来像这样:
public class EmailTemplateViewModel
{
public List<EmailAccount> EmailAccounts { get; set; }
public EmailTemplate EmailTemplate { get; set; }
[Display(Name = "Email Account")]
public int EmailAccountId { get; set; }
}
我要在回发上保存的实体是EmailTemplate
。 EmailAccount
嵌套在EmailTemplate
内,但是我创建了这样的视图模型,因此我可以构建一个下拉列表供用户选择(我删除了该代码,因为它不相关)。
在我的控制器中,为了获取我这样绑定的电子邮件模板:
public ActionResult Edit([Bind(Include = "EmailAccountId, EmailTemplate")] EmailTemplateViewModel emailTemplateViewModel)
{
}
通过defualt绑定EmailTenplate
的每个属性。如果我不希望有问题的视图能够插入某些属性,是否有办法在嵌套模板上指定要绑定的某些属性?
我试过了:
public ActionResult Edit([Bind(Include = "EmailAccountId, EmailTemplate.Property1, EmailTemplate.Property2")] EmailTemplateViewModel emailTemplateViewModel)
{
}
但那个dosn不起作用。是否有MVC的功能可以执行此操作,还是必须向视图模型显式添加属性,然后将其自身映射到控制器中的嵌套实体?
答案 0 :(得分:0)
你可以尝试这样的事情:
id_list = Post.objects.values_list('category_id').distinct()
catgories = Category.objects.filter(id__in=id_list)