mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
add serializer mixin to check reference field
This commit is contained in:
parent
49e7026efd
commit
7d577fdeb8
@ -16,6 +16,7 @@ from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ValidationError as DjangoValidationError
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.db import models
|
||||
|
||||
from djmoney.contrib.django_rest_framework.fields import MoneyField
|
||||
from djmoney.money import Money
|
||||
@ -239,6 +240,19 @@ class InvenTreeModelSerializer(serializers.ModelSerializer):
|
||||
return data
|
||||
|
||||
|
||||
class ReferenceIndexingSerializerMixin():
|
||||
"""
|
||||
This serializer mixin ensures the the reference is not to big / small
|
||||
for the BigIntegerField
|
||||
"""
|
||||
def validate_reference(self, value):
|
||||
if int(value) < -models.BigIntegerField.MAX_BIGINT:
|
||||
raise serializers.ValidationError('reference is to to small')
|
||||
if int(value) > models.BigIntegerField.MAX_BIGINT:
|
||||
raise serializers.ValidationError('reference is to to big')
|
||||
return value
|
||||
|
||||
|
||||
class InvenTreeAttachmentSerializerField(serializers.FileField):
|
||||
"""
|
||||
Override the DRF native FileField serializer,
|
||||
|
Loading…
Reference in New Issue
Block a user