python - Django模型修改
问题描述
好的,我有这个 django 应用程序,用户在其中填写他们的详细信息,然后创建一个网络配置文件(用户名和密码)
from django.db import models
class UserDetail(models.Model):
first_name = models.CharField(max_length=225)
middle_name = models.CharField(max_length=255, blank=True, null=True)
last_name = models.CharField(max_length=255)
email = models.EmailField()
def __str__(self):
return self.first_name
class WebDetail(UserDetail):
# user = models.OneToOneField(UserDetail, on_delete=models.CASCADE, primary_key=True,)
username = models.CharField(max_length=255)
password = models.CharField(max_length=255)
当我创建一个具有 webdetail 的用户时,它在数据库中显示为空(django admin)
我需要帮助来链接 WebDetail 以从 userdetail 继承,并且它们也可以显示在数据库中(django admin)
感谢您的贡献:)
解决方案
我找到了这篇关于模型继承的文章,文章末尾有这样的评论,内容如下:
“无论谁将来阅读本文,请确保将以下方法添加到每个产品类型类中,例如:
class Label(Product):
objects = LabelManager()
class Meta:
proxy = True
def save(self, *args, **kwargs):
self.product_type = 'Label'
return super(Label, self).save(*args, **kwargs)
否则,您将无法在创建对象后看到它。干杯:)”
这是文章的链接。这一切都与模型继承有关,在您创建具有 WebDetail 的用户后,上面的代码应该可以帮助您解决空数据库的问题。我会尝试添加类似于您的 WebDetail 类的内容。
推荐阅读
- razor - 剃须刀网页上的 SMTP
- c# - 从其他机器监听数据时,请求的地址在其上下文中无效
- ios - iOS如何处理图片放大、缩小、拉伸等问题
- yii - 在 Karenderia 食品中添加额外选项
- java - java.lang.reflect.Proxy 和 java.lang.reflect.InvocationHandler
- javascript - 如果我选择相同的选项从子位置到相同的选项到子位置和相同的搜索,请提醒我它已被选中
- java - 某些手机会删除 SQLite DB
- java - java错误的子查询
- mysql - 存储过程的输入数组
- django - 用于收集静态的 Django 1.11 + Amazon S3