Django Custom Management:编写命令来填充数据时遇到问题
Django Custom Management: trouble in writing command to populate data
我是 django 管理命令的新手!我正在尝试编写一个命令来填充作者...
我的models.py
是:
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField(unique=True, blank=False, null=False)
class Book(models.Model):
book_name = models.CharField(max_length=10)
summery = models.TextField()
author = models.ForeignKey(Author, on_delete=models.CASCADE)
我尝试编写命令但失败了..
下面是我的blog/management/commands/populate_author.py
:
from django.core.management.base import BaseCommand, CommandError
from blog.models import Author, Book
class Command(BaseCommand):
help = 'Populate author'
def handle(self, *args, **options):
Author.objects.create()
Author.save()
谁能帮我实现它?
您正在尝试创建一个 Author
但没有为字段提供任何数据。如果您成功地创建了一个 Author
且所需 email
字段的值为空,那么您尝试创建的下一个 Author
将有一个空白 email
字段并且这就是导致 non-unique 错误的原因。这样做是为了创建一个 Author
:
Author.objects.create(name='Author Name', email='authoremail@domain.com')
我是 django 管理命令的新手!我正在尝试编写一个命令来填充作者...
我的models.py
是:
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField(unique=True, blank=False, null=False)
class Book(models.Model):
book_name = models.CharField(max_length=10)
summery = models.TextField()
author = models.ForeignKey(Author, on_delete=models.CASCADE)
我尝试编写命令但失败了..
下面是我的blog/management/commands/populate_author.py
:
from django.core.management.base import BaseCommand, CommandError
from blog.models import Author, Book
class Command(BaseCommand):
help = 'Populate author'
def handle(self, *args, **options):
Author.objects.create()
Author.save()
谁能帮我实现它?
您正在尝试创建一个 Author
但没有为字段提供任何数据。如果您成功地创建了一个 Author
且所需 email
字段的值为空,那么您尝试创建的下一个 Author
将有一个空白 email
字段并且这就是导致 non-unique 错误的原因。这样做是为了创建一个 Author
:
Author.objects.create(name='Author Name', email='authoremail@domain.com')