import - organizations in rancher serializer / temporary tags model
This commit is contained in:
@@ -62,6 +62,11 @@ class RancherSerializer(serializers.ModelSerializer):
|
|||||||
'name': instance.city.name
|
'name': instance.city.name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
representation['organizations'] = [
|
||||||
|
{'id': item.organization.id, 'name': item.organization.name}
|
||||||
|
for item in instance.organization_links.all()
|
||||||
|
]
|
||||||
|
|
||||||
return representation
|
return representation
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class LiveStockViewSet(viewsets.ModelViewSet, SoftDeleteMixin): # noqa
|
|||||||
"""
|
"""
|
||||||
list of live stocks
|
list of live stocks
|
||||||
"""
|
"""
|
||||||
queryset = self.filter_queryset(self.get_queryset().order_by('-modify_date'))
|
queryset = self.filter_queryset(self.get_queryset().order_by('-birthdate'))
|
||||||
|
|
||||||
# paginate queryset
|
# paginate queryset
|
||||||
page = self.paginate_queryset(queryset)
|
page = self.paginate_queryset(queryset)
|
||||||
|
|||||||
37
apps/tag/migrations/0023_temporarytags.py
Normal file
37
apps/tag/migrations/0023_temporarytags.py
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# Generated by Django 5.0 on 2025-12-27 08:01
|
||||||
|
|
||||||
|
import django.db.models.deletion
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('tag', '0022_alter_tagassignment_status'),
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='TemporaryTags',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_date', models.DateTimeField(auto_now_add=True)),
|
||||||
|
('modify_date', models.DateTimeField(auto_now=True)),
|
||||||
|
('creator_info', models.CharField(max_length=100, null=True)),
|
||||||
|
('modifier_info', models.CharField(max_length=100, null=True)),
|
||||||
|
('trash', models.BooleanField(default=False)),
|
||||||
|
('tag', models.CharField(max_length=20, null=True)),
|
||||||
|
('herd_code', models.CharField(max_length=20, null=True)),
|
||||||
|
('gender', models.CharField(max_length=20, null=True)),
|
||||||
|
('birthdate', models.CharField(max_length=20, null=True)),
|
||||||
|
('type', models.CharField(max_length=20, null=True)),
|
||||||
|
('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_createddby', to=settings.AUTH_USER_MODEL)),
|
||||||
|
('modified_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='%(class)s_modifiedby', to=settings.AUTH_USER_MODEL)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
from apps.livestock import models as livestock_models
|
import random
|
||||||
from apps.authentication import models as auth_models
|
|
||||||
from apps.authorization import models as authoriz_models
|
|
||||||
from apps.tag.tools import tag_code_serial_scanning
|
|
||||||
from apps.core.models import BaseModel
|
|
||||||
from crum import get_current_user
|
from crum import get_current_user
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from jdatetime import datetime
|
from jdatetime import datetime
|
||||||
import random
|
|
||||||
|
from apps.authentication import models as auth_models
|
||||||
|
from apps.authorization import models as authoriz_models
|
||||||
|
from apps.core.models import BaseModel
|
||||||
|
from apps.tag.tools import tag_code_serial_scanning
|
||||||
|
|
||||||
|
|
||||||
class Tag(BaseModel):
|
class Tag(BaseModel):
|
||||||
@@ -38,10 +39,10 @@ class Tag(BaseModel):
|
|||||||
if not self.tag_code:
|
if not self.tag_code:
|
||||||
# set total tag code
|
# set total tag code
|
||||||
self.tag_code = f"{self.country_code}" \
|
self.tag_code = f"{self.country_code}" \
|
||||||
f"{self.static_code}" \
|
f"{self.static_code}" \
|
||||||
f"{self.ownership_code}" \
|
f"{self.ownership_code}" \
|
||||||
f"{self.species_code}" \
|
f"{self.species_code}" \
|
||||||
f"{self.serial}"
|
f"{self.serial}"
|
||||||
if not self.organization:
|
if not self.organization:
|
||||||
# set user organization for tag
|
# set user organization for tag
|
||||||
user = get_current_user()
|
user = get_current_user()
|
||||||
@@ -89,10 +90,10 @@ class TagAssignment(BaseModel):
|
|||||||
self.serial_random_part = random.randint(1000, 9999)
|
self.serial_random_part = random.randint(1000, 9999)
|
||||||
if not self.serial:
|
if not self.serial:
|
||||||
self.serial = f"" \
|
self.serial = f"" \
|
||||||
f"{self.serial_sender_part}" \
|
f"{self.serial_sender_part}" \
|
||||||
f"{self.serial_recipient_part}" \
|
f"{self.serial_recipient_part}" \
|
||||||
f"{self.serial_date_part}" \
|
f"{self.serial_date_part}" \
|
||||||
f"{self.serial_random_part}"
|
f"{self.serial_random_part}"
|
||||||
super(TagAssignment, self).save(*args, **kwargs)
|
super(TagAssignment, self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
@@ -122,3 +123,14 @@ class AllocatedTags(BaseModel):
|
|||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
super(AllocatedTags, self).save(*args, **kwargs)
|
super(AllocatedTags, self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class TemporaryTags(BaseModel):
|
||||||
|
tag = models.CharField(max_length=20, null=True)
|
||||||
|
herd_code = models.CharField(max_length=20, null=True)
|
||||||
|
gender = models.CharField(max_length=20, null=True)
|
||||||
|
birthdate = models.CharField(max_length=20, null=True)
|
||||||
|
type = models.CharField(max_length=20, null=True)
|
||||||
|
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
super(TemporaryTags, self).save(*args, **kwargs)
|
||||||
|
|||||||
Reference in New Issue
Block a user