Python Django-我在创建旅行协作应用程序模型方面的方向正确吗?
我通过构建一个名为TravelBuddies的应用程序来学习Django。它将允许旅行者计划他们的旅行,保存相关的旅行项目(如预订、机票、护照副本、保险信息等),并为日常活动创建警报。该应用程序还能够向旅行者更新当地信息,如天气或每日新闻。旅行者还可以与他人共享旅行信息,或与他人合作计划旅行 因此,它将具有以下特点:Python Django-我在创建旅行协作应用程序模型方面的方向正确吗?,python,django,Python,Django,我通过构建一个名为TravelBuddies的应用程序来学习Django。它将允许旅行者计划他们的旅行,保存相关的旅行项目(如预订、机票、护照副本、保险信息等),并为日常活动创建警报。该应用程序还能够向旅行者更新当地信息,如天气或每日新闻。旅行者还可以与他人共享旅行信息,或与他人合作计划旅行 因此,它将具有以下特点: 主出行者将能够管理(添加、删除和共享)出行详细信息并添加 共同旅行者(协作计划) 旅行者将能够登录、查看和更新个人资料 行程将包含行程表,每个行程表可能有 相关旅行项目 将记录对
- 主出行者将能够管理(添加、删除和共享)出行详细信息并添加 共同旅行者(协作计划)
- 旅行者将能够登录、查看和更新个人资料
- 行程将包含行程表,每个行程表可能有 相关旅行项目
- 将记录对计划所做的任何更改。合作 在计划中,每一位旅行者都会收到变更通知
from django.db import models
# Create your models here.
from django.template.defaultfilters import slugify
class Coplanner(models.Model):
coplanner_name = models.CharField(max_length=20)
def __str__(self):
return self.coplanner_name
class Trip(models.Model):
trip_name = models.CharField(max_length=100)
planner_name = models.CharField(max_length=100)
add_coplanner = models.ManyToManyField(Coplanner)
slug = models.SlugField(max_length=150, default='null')
def __str__(self):
return self.trip_name
def save(self, *args, **kwargs):
self.slug = slugify(self.trip_name)
super().save(*args, **kwargs)
class Activity(models.Model):
trip = models.ForeignKey(Trip, on_delete=models.CASCADE)
activity_name = models.CharField(max_length=100)
date = models.DateField(auto_now=True)
time = models.TimeField(auto_now= True)
location = models.CharField(max_length=100)
item_type = models.CharField(max_length=100)
item_number = models.CharField(max_length=100)
slug = models.SlugField(max_length=150, default='null')
def __str__(self):
return self.activity_name
def save(self):
super(Activity, self).save()
self.slug = '%i-%s' % (
self.id, slugify(self.trip.trip_name)
)
super(Activity, self).save()
我的代码正确吗?我的方向正确吗?是否是
Coplanner
平台内的其他用户?如果是这样,在Trip(models.Model)
中,add\u coplaner
应该是models.ManyToManyField(User)
其中导入了User
,因此coplaner(models.Model)
在技术上是不需要的。您可能希望在codereview上发布此信息,而不是堆栈溢出。