【问题标题】:Django not creating other field, only the date field is createdDjango不创建其他字段,只创建日期字段
【发布时间】:2021-03-27 01:08:30
【问题描述】:

我有一个模型,但它不会在我进行迁移时创建除 datefield 之外的其他字段

from django.db import models
from datetime import datetime
from django.utils import timezone

now = timezone.now()

class User(models.Model):
    user_fname = models.CharField(verbose_name='First Name', max_length=200),
    user_lname = models.CharField(verbose_name='Last Name', max_length=200),
    user_email = models.EmailField(unique=True, max_length=200, verbose_name='Email'),
    user_position = models.CharField(verbose_name='Position', max_length=200),
    pub_date = models.DateField(default=now)

    def __str__(self):
        return self.user_email

【问题讨论】:

  • import datetime from django.db import migrations, models from django.utils.timezone import utc class Migration(migrations.Migration): dependencies = [ ('users', '0001_initial'), ] operations = [ migrations.AlterField(model_name='user', name='pub_date', field=models.DateField(default=datetime.datetime(2021, 3, 27, 1, 33, 56, 928545, tzinfo=utc)), ) , ]

标签: django model


【解决方案1】:

因为所有其他字段的末尾都有逗号。去掉逗号:

class User(models.Model):
    user_fname = models.CharField(verbose_name='First Name', max_length=200)
    user_lname = models.CharField(verbose_name='Last Name', max_length=200)
    user_email = models.EmailField(unique=True, max_length=200, verbose_name='Email')
    user_position = models.CharField(verbose_name='Position', max_length=200)
    pub_date = models.DateField(default=now)

    def __str__(self):
        return self.user_email

再次进行迁移:

python manage.py makemigrations
 python manage.py migrate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    相关资源
    最近更新 更多