Ad like uchun apilar chiqarildi

This commit is contained in:
2025-11-26 16:47:37 +05:00
parent f619856e41
commit 900f23e5f6
21 changed files with 9428 additions and 53 deletions

View File

@@ -1,7 +1,7 @@
from django.contrib import admin
from unfold.admin import ModelAdmin
from core.apps.accounts.models import SearchHistory
from core.apps.accounts.models import SearchHistory, UserLike
@admin.register(SearchHistory)
@@ -10,3 +10,11 @@ class SearchHistoryAdmin(ModelAdmin):
"id",
"__str__",
)
@admin.register(UserLike)
class UserLikeAdmin(ModelAdmin):
list_display = (
"id",
"__str__",
)

View File

@@ -0,0 +1,31 @@
# Generated by Django 5.2.7 on 2025-11-26 10:04
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('accounts', '0004_business_searchhistory'),
('api', '0013_alter_feedback_comment'),
]
operations = [
migrations.CreateModel(
name='UserLike',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('ad', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='likes', to='api.admodel', verbose_name='Ad')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='likes', to=settings.AUTH_USER_MODEL, verbose_name='User')),
],
options={
'verbose_name': 'User Like',
'verbose_name_plural': 'User Likes',
'db_table': 'user_like',
},
),
]

View File

@@ -0,0 +1,28 @@
# Generated by Django 5.2.7 on 2025-11-26 10:06
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('accounts', '0005_userlike'),
]
operations = [
migrations.RenameField(
model_name='business',
old_name='address_name',
new_name='address',
),
migrations.RenameField(
model_name='business',
old_name='latitude',
new_name='lat',
),
migrations.RenameField(
model_name='business',
old_name='longitude',
new_name='long',
),
]

View File

@@ -13,9 +13,9 @@ class Business(AbstractBaseModel):
facebook = models.CharField(max_length=255, verbose_name=_('Facebook'))
telegram = models.CharField(max_length=255, verbose_name=_('Telegram'))
bio = models.TextField(verbose_name=_('Bio'))
address_name = models.CharField(max_length=255, verbose_name=_('Address Name'))
longitude = models.FloatField(verbose_name=_('Longitude'))
latitude = models.FloatField(verbose_name=_('Latitude'))
address = models.CharField(max_length=255, verbose_name=_('Address Name'))
long = models.FloatField(verbose_name=_('Longitude'))
lat = models.FloatField(verbose_name=_('Latitude'))
def __str__(self):
return str(self.pk)

View File

@@ -3,6 +3,7 @@ from django.db import models
from ..choices import RoleChoice, AccountType
from ..managers import UserManager
from model_bakery import baker
class User(auth_models.AbstractUser):
@@ -22,5 +23,9 @@ class User(auth_models.AbstractUser):
USERNAME_FIELD = "phone"
objects = UserManager()
@classmethod
def _baker(cls):
return baker.make(cls)
def __str__(self):
return self.phone

View File

@@ -0,0 +1,23 @@
from django.contrib.auth import get_user_model
from django.db import models
from django_core.models.base import AbstractBaseModel
from django.utils.translation import gettext_lazy as _
from core.apps.api.models import AdModel
from model_bakery import baker
class UserLike(AbstractBaseModel):
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, verbose_name=_("User"), related_name="likes")
ad = models.ForeignKey(AdModel, on_delete=models.CASCADE, verbose_name=_("Ad"), related_name="likes")
@classmethod
def _baker(cls):
return baker.make(cls)
def __str__(self):
return str(self.pk)
class Meta:
db_table = "user_like"
verbose_name = _("User Like")
verbose_name_plural = _("User Likes")