Я сделал переменную 'user' в классе 'Service' в 'models.py
', которая является внешним ключом другого класса, затем я присвоил ему атрибут 'default =' None '' .. Я запускаю 'manage.py makemigrations
'then' manage.py migrate
', но это дало мне ошибку, подобную этой:
packages\django\db\models\fields\__init__.py", line 965, in get_prep_value
return int(value)
ValueError: invalid literal for int() with base 10: 'None'
.. поэтому я удалил переменную' user ', но она все еще дала мне ту же ошибку!Я попытался показать миграцию, и это выглядит так:
Я попытался удалить переменную и сделать другую с именемэто 'издатель' дал ему атрибут 'null = True', но это не сработало
models.py
from django.db import models
from django.urls import reverse_lazy, reverse
from firstapp.models import User_Model
class Category(models.Model):
categoryName = models.CharField(max_length=150, primary_key=True)
def __str__(self):
return self.categoryName
class Service(models.Model):
serviceTitle = models.CharField(max_length=100, primary_key=True)
deadlineDate = models.DateField(null=True, help_text='please Enter the
date in the format : year-month-day')
price = models.DecimalField(max_digits=10, decimal_places=3, null=True,
default=10.00)
serviceDescription = models.CharField(max_length=600, null=True,
default='Descripe your service')
category = models.ForeignKey(Category, related_name='categories',
on_delete=models.CASCADE, null=False, default='Engineering')
publisher = models.ForeignKey(User_Model, on_delete=models.CASCADE,
null=True)
def __str__(self):
return self.serviceTitle
def get_absolute_url(self):
return reverse('serviceDetails', kwargs={'pk':self.pk})