簡體   English   中英

如何附加由Django模型創建的數據庫表

[英]How to append a database table created by a django model

我正在按照https://simpleisbetterthancomplex.com/tutorial/2017/02/18/how-to-create-user-sign-up-view.html上的指南制作一個簡單的用戶注冊網站。

在model.py中定義的關鍵模型是

from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)

@receiver(post_save, sender=User)
def update_user_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)
    instance.profile.save()

這將在數​​據庫中創建表概要文件 我的問題是我們如何追加此表以包含諸如用戶的名字/姓氏和電子郵件之類的信息。 我知道這些信息存儲在auth_user中 ,但是將所有內容都放在一個表中會很好。

我是django平台的新手。 任何解釋或參考,將不勝感激。

如果要在個人檔案模型中附加名字,姓氏和電子郵件,則不需要此user = models.OneToOneField(User, on_delete=models.CASCADE)因此基本上您可以刪除此行並將這些字段附加到模型中喜歡:

first_name = models.TextField(max_length=50, blank=True)
last_name = models.TextField(max_length=50, blank=True)
email = models.TextField(max_length=200, blank=True)

並運行命令: python manage.py makemigrations ,然后python manage.py migrate但是我不建議您這樣做。

我建議你使用Django auth用戶模型,因為那時你的Django的額外fetures很容易像保持會話等如下: - https://docs.djangoproject.com/en/2.0/intro/tutorial01/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM