我有一个这样的模型:
class Profile(models.Model):
user = models.OneToOneField("User", verbose_name=u"user", null=True, blank=True, default=None)
monthly_income = models.ForeignKey(MonthlyIncome, verbose_name=u"Monthly Income", null=True, blank=True, default=None)
car = models.ManyToManyField(Car, verbose_name=u"Car?", null=True, blank=True, default=None)
如果用户更改其配置文件,这些更改将保存到另一个表(UpdateLog)。在视图中,我从UpdateLog进行查询,若条目在UpdateLog中,则选择框将被禁用。因为禁用的SelectBox不向服务器发送任何数据,所以我使用request.POST.copy()
添加禁用字段的值,如下所示:
观点:
^{pr2}$问题是:sd = eval("profile.%s.id"%field)
只适用于ForeignKey数据。我必须为foreignkey和manytomy字段分隔sd
。如何识别视图中模型字段的类型?在
我想你在找这样的东西:
考虑查看Django的模型选项(例如,
Meta
类)以获得更一般的解决方案。在这种方法的好处之一,除了一般性之外,它不需要任何数据库访问-它只检查模型定义指定的模式。在
相关问题 更多 >
编程相关推荐