AttributeError: объект не имеет атрибута 'pk'

Я пытаюсь вставить некоторые данные в базу данных MySQL (модель LogsSeparate) через Django и Django Rest Framework, но я продолжаю получать ошибку, которую, я уверен, очень легко решить, но я не смог разобраться сам:

Ошибка:

if obj.pk is None:

AttributeError: 'LogObjTest' object has no attribute 'pk'

Код:

class LogObjTest():          
    def __init__(self):   
        self._id = None  
        self.bits = None  
class getLogs(viewsets.ModelViewSet):
    arrayTest=[]
    for x in Logs.objects.all():        
        serializer_class = LogsSeparateSerializer
        test = Fields.objects.filter(pac_id=x.message_id_decimal)
        binaryTest=x.data_binary
        
        for i in test:
            obj=LogObjTest()
            obj._id=x.message_id_decimal
            obj.bits=binaryTest[i.fld_offset:i.fld_offset+i.fld_len]
            arrayTest.append(obj)
            
 
        queryset = arrayTest
        LogsSeparate.objects.bulk_create(arrayTest)

    print("arrayTest",arrayTest)

models.py

class LogsSeparate(models.Model):
    _id = models.CharField(max_length=255, primary_key=True, null=False, db_column='_id')
    bits = models.CharField(max_length=500, db_column='bits')
    
    def __str__(self):
        return self.bits```

Не используйте LogObjTest. Импортируйте LogsSeparate, который вы создали в файле model.py, а затем используйте его для создания нового объекта.

class getLogs(viewsets.ModelViewSet):
    arrayTest=[]
    for x in Logs.objects.all():        
        serializer_class = LogsSeparateSerializer
        test = Fields.objects.filter(pac_id=x.message_id_decimal)
        binaryTest=x.data_binary
        
        for i in test:
            obj=LogsSeparate(_id=x.message_id_decimal, bits=binaryTest[i.fld_offset:i.fld_offset+i.fld_len])
            arrayTest.append(obj)
            
 
        queryset = arrayTest
        LogsSeparate.objects.bulk_create(arrayTest)

    print("arrayTest",arrayTest)
Вернуться на верх