что означает ошибка значения в django , я застрял

#python #django #database #backend

Вопрос:

 #ValueError: "<Profile: Profile object (None)>" needs to have a value for field "id" before this many-to-many relationship can be used.
 

что такое ошибка значения ,почему я получаю это,
Ошибка значения в /admin/профили/профиль/добавить/
«<Профиль: Объект профиля (отсутствует)>» должен иметь значение для поля «идентификатор», прежде чем можно будет использовать это отношение «многие ко многим».

 from django.db import models
from django.contrib.auth.models import User
from django.template.defaultfilters import slugify
# Create your models here.
from . utils  import get_random_code

class Profile(models.Model):
    first_name = models.CharField(max_length=200, blank=True)
    last_name = models.CharField(max_length=200, blank=True)
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    bio = models.TextField(default="no bio...", max_length=300)
    email = models.EmailField(max_length=200, blank=True)
    country = models.CharField(max_length=200, blank=True)
    avatar = models.ImageField(default='avatar.png', upload_to='avatars/')
    friends = models.ManyToManyField(User, blank=True, related_name='friends')
    slug =    models.SlugField(unique=True, blank=True)
    updated = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)
    
    

    def save(self, *args  ,**kwargs):
        ex = False
        if  self.first_name and self.last_name:
            to_slug =slugify(str(self.first_name )   ""   str(self.last_name))
            ex = Profile.objects.filter(slug =to_slug).exists()
            while ex:
                to_slug = slugify(to_slug "" str(get_random_code())) 
                ex = Profile.objects.filter(slug=to_slug).exists()
        else:
                to_slug = str(self.user)
                self.slug=to_slug
                super().save(*args ,**kwargs)

#`enter code here`utlis.py file
import uuid

def get_random_code():
    code = str(uuid.uuid4())[:8].replace('-', '').lower()
    return code
 

Комментарии:

1. Попробуйте поставить «null=True» в поле «Ваши друзья».

2. ВСЕ еще получаю ту же ошибку после того, как я поставил’ null=True’, есть идеи, что здесь пошло не так!

3. Проблема в вашем пк, объясните, почему это происходит, но если у каждого пользователя будет только один профиль, вы можете сделать так, чтобы один из них был в профиле primary_key, и это может сработать.

4. значит?? это сбивает с толку ??