我知道,这不是最具描述性的标题,但我的问题最好用一个例子来说明
假设我正在制作一个应用程序,允许学生司机记录他们的驾驶时间。它们需要记录白天和晚上的时间,所以我默认提供这两个字段。但是,让我们假设一个好奇的年轻人决定要追踪他在雷雨中开车的时间。另一个决定要追踪他在雪地里开车的时间。使用Django实现这一点的最佳方法是什么
这是我现在思考这个问题的大致轮廓。假设这是在models.py
:
class Trip(models.Model):
user = models.ForeignKey(User, on_delete = models.CASCADE)
date = models.DateField()
class DrivingTime(models.Model):
trip = models.ForeignKey(Trip, on_delete=models.CASCADE)
tag = models.ForeignKey(AcceptableTimeType, on_delete=models.CASCADE)
hours = models.TimeField()
class AcceptableTimeType(models.Model):
name = models.CharField(max_length=50)
# null/blank if visible for everyone
# otherwise, should link to the user that wants this specific type of time tracked
user = models.ForeignKey(User, on_delete=CASCADE, blank=True, null=True)
我在Django admin中预先设置了默认时间类型的列表(本例中为白天/夜晚),并将User字段留空。然后,用户可以添加他们想要的任何类型的时间(例如下雨或下雪)。然后,当我创建用户可以填写的那些时间字段的列表时,我选择AcceptableTypeTime
项的子集,这些项要么链接到当前字段,要么为空
这似乎应该奏效,但我也觉得应该有一个共同的解决方案,这个问题,我可能完全不知道。任何指向正确方向的指针都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐