fix: fix url bug

This commit is contained in:
behruz-dev
2025-09-08 18:22:25 +05:00
parent 0d5fcf6ee7
commit 998880fd46
6 changed files with 93 additions and 3 deletions

View File

@@ -3,4 +3,4 @@ from .payment_type import *
from .type_income import *
from .income import *
from .expence_type import *
from .expence import *

View File

@@ -0,0 +1,9 @@
from django.contrib import admin
from core.apps.finance.models import Expence
@admin.register(Expence)
class ExpenceAdmin(admin.ModelAdmin):
list_display = ['id', 'price', 'cash_transaction']

View File

@@ -0,0 +1,41 @@
# Generated by Django 5.2.4 on 2025-09-08 18:20
import django.db.models.deletion
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('counterparty', '0004_counterparty_status'),
('finance', '0009_expencetype'),
('projects', '0016_estimatework_employee_estimatework_end_date_and_more'),
]
operations = [
migrations.CreateModel(
name='Expence',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('price', models.PositiveBigIntegerField()),
('exchange_rate', models.PositiveBigIntegerField(default=0)),
('currency', models.CharField(choices=[('usd', 'usd'), ('uzs', 'uzs')], max_length=3)),
('date', models.DateField(blank=True, null=True)),
('comment', models.TextField(blank=True, null=True)),
('audit', models.CharField(blank=True, max_length=200, null=True)),
('cash_transaction', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='expences', to='finance.cashtransaction')),
('counterparty', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='expences', to='counterparty.counterparty')),
('expence_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='expences', to='finance.expencetype')),
('payment_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='expences', to='finance.paymenttype')),
('project', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='expences', to='projects.project')),
('project_folder', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='expences', to='projects.projectfolder')),
],
options={
'verbose_name': 'chiqim',
'verbose_name_plural': 'chiqimlar',
},
),
]

View File

@@ -3,3 +3,4 @@ from .payment_type import *
from .type_income import *
from .income import *
from .expence_type import *
from .expence import *

View File

@@ -0,0 +1,39 @@
from django.db import models
from core.apps.shared.models import BaseModel
from core.apps.finance.models import CashTransaction, PaymentType, ExpenceType
from core.apps.counterparty.models import Counterparty
class Expence(BaseModel):
cash_transaction = models.ForeignKey(CashTransaction, on_delete=models.CASCADE, related_name='expences')
payment_type = models.ForeignKey(PaymentType, on_delete=models.CASCADE, related_name='expences')
project_folder = models.ForeignKey(
'projects.ProjectFolder', on_delete=models.CASCADE, related_name='expences'
)
project = models.ForeignKey(
'projects.Project', on_delete=models.SET_NULL, null=True, related_name='expences', blank=True
)
expence_type = models.ForeignKey(
ExpenceType, on_delete=models.SET_NULL, null=True, blank=True, related_name='expences'
)
counterparty = models.ForeignKey(
Counterparty, on_delete=models.SET_NULL, null=True, blank=True, related_name='expences'
)
price = models.PositiveBigIntegerField()
exchange_rate = models.PositiveBigIntegerField(default=0)
currency = models.CharField(
max_length=3, choices=[('usd','usd'), ('uzs', 'uzs')]
)
date = models.DateField(null=True, blank=True)
comment = models.TextField(null=True, blank=True)
audit = models.CharField(max_length=200, null=True, blank=True)
def __str__(self):
return f'{self.cash_transaction} kassa uchun chiqim {self.price}'
class Meta:
verbose_name = 'chiqim'
verbose_name_plural = 'chiqimlar'

View File

@@ -52,7 +52,7 @@ urlpatterns = [
path('list/', ex_views.ExpenceTypeListApiView.as_view()),
path('create/', ex_views.ExpenceTypeCreateApiView.as_view()),
path('<uuid:id>/update/', ex_views.ExpenceTypeUpdateApiView.as_view()),
path('<uuid:id/delete/', ex_views.ExpenceTypeDeleteApiView.as_view()),
path('<uuid:id>/delete/', ex_views.ExpenceTypeDeleteApiView.as_view()),
]
)),
]