From 7d212f0a4801b55a1495e578aa66de9f33c3a072 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 28 Jan 2018 17:51:59 +0300 Subject: [PATCH 1/3] =?UTF-8?q?LIL-99=20=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B8=20"?= =?UTF-8?q?=D0=BB=D0=B0=D0=B9=D0=BA=D0=BE=D0=B2"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0004_auto_20180128_1311.py | 34 +++++++++++++++++++ apps/course/models.py | 8 +++++ 2 files changed, 42 insertions(+) create mode 100644 apps/course/migrations/0004_auto_20180128_1311.py diff --git a/apps/course/migrations/0004_auto_20180128_1311.py b/apps/course/migrations/0004_auto_20180128_1311.py new file mode 100644 index 00000000..943d6844 --- /dev/null +++ b/apps/course/migrations/0004_auto_20180128_1311.py @@ -0,0 +1,34 @@ +# Generated by Django 2.0.1 on 2018-01-28 13:11 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('course', '0003_auto_20180126_1347'), + ] + + operations = [ + migrations.CreateModel( + name='Like', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('update_at', models.DateTimeField(auto_now=True)), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.AlterModelOptions( + name='course', + options={'ordering': ['-created_at'], 'verbose_name': 'Курс', 'verbose_name_plural': 'Курсы'}, + ), + migrations.AddField( + model_name='course', + name='likes', + field=models.ManyToManyField(to='course.Like'), + ), + ] diff --git a/apps/course/models.py b/apps/course/models.py index 1a9f3963..1074bdd7 100644 --- a/apps/course/models.py +++ b/apps/course/models.py @@ -8,6 +8,13 @@ from .manager import CategoryQuerySet User = get_user_model() +class Like(models.Model): + user = models.ForeignKey(User, on_delete=models.CASCADE) + + created_at = models.DateTimeField(auto_now_add=True) + update_at = models.DateTimeField(auto_now=True) + + class Course(models.Model): STATUS_CHOICES = ( (0, 'Pending'), @@ -26,6 +33,7 @@ class Course(models.Model): is_featured = models.BooleanField(default=False) url = models.URLField('Ссылка', default='') status = models.PositiveSmallIntegerField('Статус', default=0, choices=STATUS_CHOICES) + likes = models.ManyToManyField(Like) created_at = models.DateTimeField(auto_now_add=True) update_at = models.DateTimeField(auto_now=True) From 54544fb9ef5a1224c6f9401431639076e2135094 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Sun, 28 Jan 2018 18:16:20 +0300 Subject: [PATCH 2/3] =?UTF-8?q?LIL-100=20=D0=9E=D0=B1=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D1=87=D0=B8=D0=BA=20=D0=BB=D0=B0=D0=B9=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/course/templates/course/_items.html | 4 +-- apps/course/views.py | 35 ++++++++++++++++++++++-- project/urls.py | 5 ++-- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/apps/course/templates/course/_items.html b/apps/course/templates/course/_items.html index 0d876ccb..1927dfde 100644 --- a/apps/course/templates/course/_items.html +++ b/apps/course/templates/course/_items.html @@ -1,6 +1,6 @@ {% load static %} -
+
Подробнее
{% if course.is_featured %}
@@ -26,7 +26,7 @@
{{ course.created_at_humanize }}