【Django 天天生鲜项目01】框架、数据表设计、项目框架笔记

本文记录了一个使用Django框架的生鲜项目,包括项目架构、数据表设计和模型类设计。在数据表设计中,强调了充分考虑和避免后期改动的重要性,例如用户地址、商品图片和订单商品的一对多关系。在模型类设计中,介绍了如何创建抽象基类及各个模块的模型类。此外,还涵盖了项目框架搭建的步骤,如创建虚拟环境、安装依赖、配置Django项目、数据库设置以及模型类迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录项目的框架、数据表设计、项目框架等通用内容

仅作为个人笔记!

目录

1.总体设计

1.1. 项目架构

1.2.数据表设计

1.3.模型类设计

2.项目框架搭建


 

1.总体设计

1.1. 项目架构

1.2.数据表设计

数据表一定要充分考虑,设计好,不能中途改动,设计模型类的更改很麻烦

  • 一个用户可以添加多个地址,一对多的关系,地址可以独立为一个地址表。
  • 一个商品可能有多个图片,需要商品图片表;
  • 类似的还有一个订单对应多个商品,需要创建订单商品表...
  • *表示根据需求决定是否需要该字段

 

 

1.3.模型类设计

模型类设计:模型类设计之前一定要分析设计好表,一旦开始就不要再改动了。

1)在自己的抽象模型类设计中,设计一个模型类的抽象基类BaseModel,记录创建时间、更新时间、删除标记 。每个类继承之。(在元类中说明是抽象模型类)

(2)在用户模块中,按数据库设计,先设计相应的模型类:

注:外键需要两个位置参数,一个是关联的模型(被关联的类)和 on_delete 选项。在Django2.0版本后, on_delete 选项为必填。

from django.db import models
from django.contrib.auth.models import AbstractUser  # 从auth用户验证模块中导入AbstractUser
from db.base_model import BaseModel
# Create your models here.


class User(AbstractUser, BaseModel):
    """用户模型类"""

    class Meta:
        db_table = 'df_user'
        verbose_name = '用户'
        verbose_name_plural = verbose_name


class Address(BaseModel):
    """地址模型类"""
    user = models.ForeignKey('User', verbose_name='所属账户', on_delete=models.CASCADE,)
    receiver = models.CharField(max_length=20, verbose_name='收件人')
    addr = models.CharField(max_length=256, verbose_name='收件地址')
    zip_code = models.CharField(max_length=6, null=True, verbose_name='邮政编码')
    phone = models.CharField(max_length=11, verbose_name='联系电话')
    is_default = models.BooleanField(default=False, verbose_name='是否默认')

    class Meta:
        db_table = 'df_address'
        verbose_name = '地址'
        verbose_name_plural = verbose_name

(3)商品模块模型类

from django.db import models
from db.base_model import BaseModel
from tinymce.models import HTMLField  # 用富文本类型,需要配置app、默认配置和urls


# Create your models here.


class GoodsType(BaseModel):
    '''商品类型模型类'''
    name = models.CharField(max_length=20, verbose_name=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值