diff --git a/app/user/models.py b/app/user/models.py deleted file mode 100644 index 71a8362..0000000 --- a/app/user/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/app/basic/__init__.py b/apps/basic/__init__.py similarity index 100% rename from app/basic/__init__.py rename to apps/basic/__init__.py diff --git a/app/basic/admin.py b/apps/basic/admin.py similarity index 100% rename from app/basic/admin.py rename to apps/basic/admin.py diff --git a/app/basic/apps.py b/apps/basic/apps.py similarity index 100% rename from app/basic/apps.py rename to apps/basic/apps.py diff --git a/app/basic/migrations/__init__.py b/apps/basic/migrations/__init__.py similarity index 100% rename from app/basic/migrations/__init__.py rename to apps/basic/migrations/__init__.py diff --git a/app/basic/models.py b/apps/basic/models.py similarity index 100% rename from app/basic/models.py rename to apps/basic/models.py diff --git a/app/basic/tests.py b/apps/basic/tests.py similarity index 100% rename from app/basic/tests.py rename to apps/basic/tests.py diff --git a/app/basic/views.py b/apps/basic/views.py similarity index 100% rename from app/basic/views.py rename to apps/basic/views.py diff --git a/app/goods/__init__.py b/apps/goods/__init__.py similarity index 100% rename from app/goods/__init__.py rename to apps/goods/__init__.py diff --git a/app/goods/admin.py b/apps/goods/admin.py similarity index 100% rename from app/goods/admin.py rename to apps/goods/admin.py diff --git a/app/goods/apps.py b/apps/goods/apps.py similarity index 100% rename from app/goods/apps.py rename to apps/goods/apps.py diff --git a/app/goods/migrations/__init__.py b/apps/goods/migrations/__init__.py similarity index 100% rename from app/goods/migrations/__init__.py rename to apps/goods/migrations/__init__.py diff --git a/apps/goods/models.py b/apps/goods/models.py new file mode 100644 index 0000000..6c1943a --- /dev/null +++ b/apps/goods/models.py @@ -0,0 +1,75 @@ +from django.db import models +from common.base_model import BaseModel +from datetime import datetime + +from ckeditor_uploader.fields import RichTextUploadingField + + +# Create your models here. +class GoodsCategory(BaseModel): + """ + 商品分类 + """ + id = models.AutoField(primary_key=True) + name = models.CharField(verbose_name='分类名称', max_length=50, default='') + parent = models.ForeignKey(verbose_name='父类', to="self", null=True, blank=True, on_delete=models.DO_NOTHING, + related_name='sub_cat') + logo = models.ImageField(verbose_name='分类logo图片', upload_to='upload/cate_img') + is_nav = models.BooleanField(verbose_name='是否显示在导航栏', default=False) + sort = models.IntegerField(verbose_name='排序') + + def __str__(self): + return self.name + + class Meta: + verbose_name = '商品分类' + verbose_name_plural = '商品分类' + db_table = 'd_goods_category' + + +class Goods(models.Model): + """ + 商品信息 + """ + STATUS = ( + (0, '正常'), + (1, '下架') + ) + name = models.CharField(verbose_name='商品名称', max_length=50, default='') + category = models.ForeignKey(verbose_name='商品分类', to=GoodsCategory, on_delete=models.DO_NOTHING, blank=True, + null=True) + market_price = models.DecimalField(verbose_name='市场价', max_digits=8, decimal_places=2, default=0) + price = models.DecimalField(verbose_name='实际价格', max_digits=8, decimal_places=2, default=0) + unit = models.CharField(verbose_name='单位', max_length=10, blank=True, null=True) + click_num = models.IntegerField(verbose_name='点击数', default=0) + amount = models.IntegerField(verbose_name='销售量', default=0) + stock_num = models.IntegerField(verbose_name='库存量', default=0) + fav_num = models.IntegerField(verbose_name='收藏量', default=0) + goods_desc = RichTextUploadingField(verbose_name='商品详情', default='') + status = models.IntegerField(verbose_name='商品状态', default=0, choices=STATUS) + main_img = models.ImageField(verbose_name='商品主图', upload_to='upload/goods_img', blank=True, null=True) + is_recommend = models.BooleanField(verbose_name='是否推荐', default=False) + user = models.ForeignKey(verbose_name='用户', to='', on_delete=models.DO_NOTHING, blank=True, null=True) + create_datetime = models.DateTimeField(verbose_name='创建时间', default=datetime.now()) + + def __str__(self): + return self.name + + class Meta: + verbose_name = '商品信息' + verbose_name_plural = '商品信息' + db_table = 'd_goods' + + +class Slide(BaseModel): + """ + 首页轮播图 + """ + goods = models.ForeignKey(verbose_name='商品', to=Goods, on_delete=models.DO_NOTHING) + images = models.ImageField(verbose_name='轮播图片', upload_to='upload/slide_img') + sort = models.IntegerField(verbose_name='排序', default=0) + + class Meta: + verbose_name = '首页轮播' + verbose_name_plural = '首页轮播' + db_table = 'd_slide' diff --git a/app/goods/tests.py b/apps/goods/tests.py similarity index 100% rename from app/goods/tests.py rename to apps/goods/tests.py diff --git a/app/goods/views.py b/apps/goods/views.py similarity index 100% rename from app/goods/views.py rename to apps/goods/views.py diff --git a/app/order/__init__.py b/apps/order/__init__.py similarity index 100% rename from app/order/__init__.py rename to apps/order/__init__.py diff --git a/app/order/admin.py b/apps/order/admin.py similarity index 100% rename from app/order/admin.py rename to apps/order/admin.py diff --git a/app/order/apps.py b/apps/order/apps.py similarity index 100% rename from app/order/apps.py rename to apps/order/apps.py diff --git a/app/order/migrations/__init__.py b/apps/order/migrations/__init__.py similarity index 100% rename from app/order/migrations/__init__.py rename to apps/order/migrations/__init__.py diff --git a/app/goods/models.py b/apps/order/models.py similarity index 100% rename from app/goods/models.py rename to apps/order/models.py diff --git a/app/order/tests.py b/apps/order/tests.py similarity index 100% rename from app/order/tests.py rename to apps/order/tests.py diff --git a/app/order/views.py b/apps/order/views.py similarity index 100% rename from app/order/views.py rename to apps/order/views.py diff --git a/app/user/__init__.py b/apps/user/__init__.py similarity index 100% rename from app/user/__init__.py rename to apps/user/__init__.py diff --git a/app/user/admin.py b/apps/user/admin.py similarity index 100% rename from app/user/admin.py rename to apps/user/admin.py diff --git a/app/user/apps.py b/apps/user/apps.py similarity index 100% rename from app/user/apps.py rename to apps/user/apps.py diff --git a/app/user/migrations/__init__.py b/apps/user/migrations/__init__.py similarity index 100% rename from app/user/migrations/__init__.py rename to apps/user/migrations/__init__.py diff --git a/app/order/models.py b/apps/user/models.py similarity index 100% rename from app/order/models.py rename to apps/user/models.py diff --git a/app/user/tests.py b/apps/user/tests.py similarity index 100% rename from app/user/tests.py rename to apps/user/tests.py diff --git a/app/user/views.py b/apps/user/views.py similarity index 100% rename from app/user/views.py rename to apps/user/views.py diff --git a/common/__init__.py b/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/common/base_model.py b/common/base_model.py new file mode 100644 index 0000000..bb06b71 --- /dev/null +++ b/common/base_model.py @@ -0,0 +1,11 @@ +from django.db import models + + +class BaseModel(models.Model): + """创建数据模型基类""" + create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') + update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间') + + class Meta: + # 设置为抽象基类 + abstract = True diff --git a/myshop_back/settings.py b/myshop_back/settings.py index bf7b556..1d8b64c 100644 --- a/myshop_back/settings.py +++ b/myshop_back/settings.py @@ -37,6 +37,12 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'apps.basic', + 'apps.goods', + 'apps.order', + 'apps.user', + 'ckeditor', + 'ckeditor_uploader', ] MIDDLEWARE = [ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..bb8550f Binary files /dev/null and b/requirements.txt differ