Python Django-我在创建旅行协作应用程序模型方面的方向正确吗?

Python Django-我在创建旅行协作应用程序模型方面的方向正确吗?,python,django,Python,Django,我通过构建一个名为TravelBuddies的应用程序来学习Django。它将允许旅行者计划他们的旅行,保存相关的旅行项目(如预订、机票、护照副本、保险信息等),并为日常活动创建警报。该应用程序还能够向旅行者更新当地信息,如天气或每日新闻。旅行者还可以与他人共享旅行信息,或与他人合作计划旅行 因此,它将具有以下特点: 主出行者将能够管理(添加、删除和共享)出行详细信息并添加 共同旅行者(协作计划) 旅行者将能够登录、查看和更新个人资料 行程将包含行程表,每个行程表可能有 相关旅行项目 将记录对

我通过构建一个名为TravelBuddies的应用程序来学习Django。它将允许旅行者计划他们的旅行,保存相关的旅行项目(如预订、机票、护照副本、保险信息等),并为日常活动创建警报。该应用程序还能够向旅行者更新当地信息,如天气或每日新闻。旅行者还可以与他人共享旅行信息,或与他人合作计划旅行

因此,它将具有以下特点:

  • 主出行者将能够管理(添加、删除和共享)出行详细信息并添加 共同旅行者(协作计划)
  • 旅行者将能够登录、查看和更新个人资料
  • 行程将包含行程表,每个行程表可能有 相关旅行项目
  • 将记录对计划所做的任何更改。合作 在计划中,每一位旅行者都会收到变更通知
以下是我的项目中的一个线框:

我已经建立了应用程序的数据模型。以下是我在models.py中的代码:

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上发布此信息,而不是堆栈溢出。