Я пытаюсь создать программу, которая принимает значения штрих-кодов с помощью сканера штрих-кодов и сохраняет значения штрих-кодов в дБ, возникают проблемы, когда я пытаюсь добавить более 5-6 штрих-кодов. Это выдает ошибку «django .db.utils.DataError: (1406,« Слишком длинные данные для штрих-кодов столбца в строке 1 »)». Я убедился, что это model.textfield (), но это не решает мою проблему. Мои модели выглядят так:
id = models.IntegerField(primary_key=True)
barcodes = models.CharField(max_length=255)
to_warehouse = models.CharField(max_length=255)
from_warehouse = models.CharField(max_length=255)
total_count = models.IntegerField()
approval_flag = models.IntegerField(default=0)
current_status = models.CharField(max_length=50, blank=True, null=True)
error_message = models.CharField(max_length=255, blank=True, null=True)
created_by = models.CharField(max_length=50, blank=True, null=True)
created_at = models.DateTimeField(blank=True, null=True, auto_now_add=True)
class Meta:
managed = False
db_table = 'transfer_inventory'
def __str__(self):
return "%s" % self.id
Моя функция просмотра, которая создает объект для этого, выглядит следующим образом:
def change_status(self, barcodes, warehouse_id, request, is_error="", msg=""):
barcode_count = barcodes.count(',')
_list_barcodes = barcodes.split(",")
print("list: ", list)
list_barcodes = []
to_warehouse = Warehouse.objects.filter(id=warehouse_id).values_list('key', flat=True)[0]
try:
current_warehouse = UserWarehouseMapping.objects.filter(
user=request.user).values_list('warehouse__key', flat=True).first()
except:
current_warehouse = "-"
for i in _list_barcodes:
list_barcodes.append(i)
list_barcodes = list_barcodes.pop(len(list_barcodes) - 1)
available_barcodes = list(
Inventory.objects.filter(inventory_status='available').values_list('barcode', flat=True))
InventoryTransfer.objects.create(barcodes=barcodes, to_warehouse=to_warehouse,
total_count=barcode_count,
created_by=request.user.username,
from_warehouse=current_warehouse, current_status="Pending")
В котором указан c эта часть используется для создания объекта :
InventoryTransfer.objects.create(barcodes=barcodes, to_warehouse=to_warehouse,
total_count=barcode_count,
created_by=request.user.username,
from_warehouse=current_warehouse, current_status="Pending")
Я застрял с этой ошибкой очень давно, и я не знаю, что делать. Любой подход будет оценен. Спасибо.