Skip to content

Commit 1f18229

Browse files
Merge pull request #14 from RustamovAkrom/main
Main
2 parents e03187c + be06531 commit 1f18229

29 files changed

+545
-405
lines changed
Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,65 @@
1-
# Generated by Django 5.1.1 on 2024-11-13 12:31
2-
3-
from django.db import migrations, models
4-
5-
6-
class Migration(migrations.Migration):
7-
8-
initial = True
9-
10-
dependencies = [
11-
]
12-
13-
operations = [
14-
migrations.CreateModel(
15-
name='Post',
16-
fields=[
17-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18-
('created_at', models.DateTimeField(auto_now_add=True)),
19-
('updated_at', models.DateTimeField(auto_now=True)),
20-
('title', models.CharField(db_index=True, max_length=120, verbose_name='title')),
21-
('slug', models.SlugField(max_length=255, unique=True, verbose_name='slug')),
22-
('status', models.CharField(choices=[('df', 'Draft'), ('pb', 'Published')], default='df', max_length=2, verbose_name='status')),
23-
('description', models.CharField(blank=True, max_length=300, null=True, verbose_name='description')),
24-
('content', models.TextField(verbose_name='content')),
25-
('publisher_at', models.DateField(verbose_name='publisher at')),
26-
('is_active', models.BooleanField(default=True, verbose_name='active')),
27-
('watching', models.BigIntegerField(default=0, verbose_name='watching')),
28-
],
29-
options={
30-
'verbose_name': 'Post',
31-
'verbose_name_plural': 'Posts',
32-
'db_table': 'posts',
33-
},
34-
),
35-
migrations.CreateModel(
36-
name='PostComment',
37-
fields=[
38-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
39-
('created_at', models.DateTimeField(auto_now_add=True)),
40-
('updated_at', models.DateTimeField(auto_now=True)),
41-
('message', models.TextField(verbose_name='message')),
42-
],
43-
options={
44-
'abstract': False,
45-
},
46-
),
47-
migrations.CreateModel(
48-
name='PostCommentLike',
49-
fields=[
50-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
51-
],
52-
),
53-
migrations.CreateModel(
54-
name='PostDislike',
55-
fields=[
56-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
57-
],
58-
),
59-
migrations.CreateModel(
60-
name='PostLike',
61-
fields=[
62-
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
63-
],
64-
),
65-
]
1+
# Generated by Django 5.1.1 on 2024-11-13 12:31
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
initial = True
9+
10+
dependencies = [
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name='Post',
16+
fields=[
17+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18+
('created_at', models.DateTimeField(auto_now_add=True)),
19+
('updated_at', models.DateTimeField(auto_now=True)),
20+
('title', models.CharField(db_index=True, max_length=120, verbose_name='title')),
21+
('slug', models.SlugField(max_length=255, unique=True, verbose_name='slug')),
22+
('status', models.CharField(choices=[('df', 'Draft'), ('pb', 'Published')], default='df', max_length=2, verbose_name='status')),
23+
('description', models.CharField(blank=True, max_length=300, null=True, verbose_name='description')),
24+
('content', models.TextField(verbose_name='content')),
25+
('publisher_at', models.DateField(verbose_name='publisher at')),
26+
('is_active', models.BooleanField(default=True, verbose_name='active')),
27+
('watching', models.BigIntegerField(default=0, verbose_name='watching')),
28+
],
29+
options={
30+
'verbose_name': 'Post',
31+
'verbose_name_plural': 'Posts',
32+
'db_table': 'posts',
33+
},
34+
),
35+
migrations.CreateModel(
36+
name='PostComment',
37+
fields=[
38+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
39+
('created_at', models.DateTimeField(auto_now_add=True)),
40+
('updated_at', models.DateTimeField(auto_now=True)),
41+
('message', models.TextField(verbose_name='message')),
42+
],
43+
options={
44+
'abstract': False,
45+
},
46+
),
47+
migrations.CreateModel(
48+
name='PostCommentLike',
49+
fields=[
50+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
51+
],
52+
),
53+
migrations.CreateModel(
54+
name='PostDislike',
55+
fields=[
56+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
57+
],
58+
),
59+
migrations.CreateModel(
60+
name='PostLike',
61+
fields=[
62+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
63+
],
64+
),
65+
]

apps/blog/sitemaps.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class PostSitemap(Sitemap):
77
priority = 0.9
88

99
def items(self):
10-
return Post.objects.all()
10+
return Post.published.all()
1111

1212
def lastmod(self, obj):
1313
return obj.updated_at

apps/blog/utils.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from django.db.models import QuerySet
2+
from django.db.models import Q
23
from django.core.paginator import Paginator, Page, EmptyPage, PageNotAnInteger
34

45
from .models import PostLike, PostDislike, Post, PostComment
@@ -7,19 +8,24 @@
78
def get_search_model_queryset(
89
model_queryset: QuerySet, search_query: str = None
910
) -> QuerySet:
10-
if search_query is None:
11+
if not search_query:
1112
return model_queryset
1213

13-
search_for_title = model_queryset.filter(title__icontains=search_query)
14-
if not search_for_title:
15-
search_for_content = model_queryset.filter(content__icontains=search_query)
16-
if not search_for_content:
17-
queryset = search_for_content
18-
else:
19-
queryset = search_for_content
20-
else:
21-
queryset = search_for_title
22-
return queryset
14+
search_query = model_queryset.filter(
15+
Q(title__icontains=search_query) | Q(description__icontains=search_query) | Q(content__icontains=search_query)
16+
)
17+
18+
return search_query
19+
# search_for_title = model_queryset.filter(title__icontains=search_query)
20+
# if not search_for_title:
21+
# search_for_content = model_queryset.filter(content__icontains=search_query)
22+
# if not search_for_content:
23+
# queryset = search_for_content
24+
# else:
25+
# queryset = search_for_content
26+
# else:
27+
# queryset = search_for_title
28+
# return queryset
2329

2430

2531
def get_pagination_obj(model_queryset: QuerySet, page: int = 1, size: int = 4) -> Page:

0 commit comments

Comments
 (0)