gpt4 book ai didi

python - Django form : fields defined by query result, 单 View 同时更新多个对象

转载 作者:行者123 更新时间:2023-11-28 19:13:42 25 4
gpt4 key购买 nike

我在 Django 1.8 项目中有以下模型:

class MeditationType(models.Model):
"""
Stores user's meditation types and goals
"""
creation_date = models.DateTimeField(auto_now_add=True)
modify_date = models.DateTimeField(auto_now=True)

user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
meditation_name = models.CharField(max_length=30)

# Meditation goals per weekday, in minutes
goal_sun = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])
goal_mon = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])
goal_tue = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])
goal_wed = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])
goal_thu = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])
goal_fri = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])
goal_sat = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])

def get_absolute_url(self):
return reverse('meditation_types_update', kwargs={'pk': self.pk})


class MeditationLog(models.Model):
"""
Stores user's meditation logs (journal entries)
"""

creation_date = models.DateTimeField(auto_now_add=True)
modify_date = models.DateTimeField(auto_now=True)

meditation_date = models.DateTimeField()

user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
meditation_type = models.ForeignKey(MeditationType, on_delete=models.CASCADE)

# Amount of time (in minutes) this meditation type was practiced on this date
meditation_minutes = models.PositiveIntegerField(default=0, validators=[MaxValueValidator(1440)])

def get_absolute_url(self):
return reverse('meditation_types_update', kwargs={'pk': self.pk})

我想构建一个包含以下字段的表单: form fields

请注意:

  • 表单将用于创建和更新条目。

  • 示例中使用的 3 种冥想类型(专注、正念和慈爱)是由用户创建的(MeditationType 模型),因此这些字段会有所不同。对于一些用户来说可能是一种冥想类型,对于其他用户来说可能是 10 种不同的冥想类型。因此必须根据每个用户的冥想类型动态定义表单字段。

  • 提交/发布此表单时,我们必须保存 MeditationLog 对象的多个实例(每种冥想类型一个)。

在 Django 1.8 中,最简单有效的方法是什么?此外,如果您能想到更好的模型构建方法(这将使表单构建更容易),请告诉我。

提前致谢。

最佳答案

关于python - Django form : fields defined by query result, 单 View 同时更新多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com