Python Django在创建模型时出错
我在使用外来对象创建用户配置文件时遇到问题 我有一个用户,我想为该用户附加一个帐户类型 model.pyPython Django在创建模型时出错,python,django,Python,Django,我在使用外来对象创建用户配置文件时遇到问题 我有一个用户,我想为该用户附加一个帐户类型 model.py from __future__ import unicode_literals from django.db import models from django.contrib.auth.models import User class UserProfile(models.Model): user = models.ForeignKey(User, unique=True)
from __future__ import unicode_literals
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
account = models.ForeignKey(Account, unique=True)
class Account(models.Model):
reports = models.IntegerField(default=3)
accounttype = models.CharField(default='Free', max_length=250)
description = models.CharField(default='N/A', max_length=250)
monthlycost = models.FloatField(default=0.0)
def __str__(self):
return self.user.username + " - " + self.accounttype
问题是我得到了以下错误:
account = models.ForeignKey(Account, unique=True)
NameError: name 'Account' is not defined
如何调用外键的Account类
from __future__ import unicode_literals
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
account = models.ForeignKey("app_name.Account", unique=True)
class Account(models.Model):
reports = models.IntegerField(default=3)
accounttype = models.CharField(default='Free', max_length=250)
description = models.CharField(default='N/A', max_length=250)
monthlycost = models.FloatField(default=0.0)
def __str__(self):
return self.user.username + " - " + self.accounttype
您可以使用
“app\u name.Account”
而不是Account
。用你的应用程序的名称替换app\u name
。根据John Gordon的评论,我将帐户移到了UserProfile之上,它成功了
class Account(models.Model):
reports = models.IntegerField(default=3)
accounttype = models.CharField(default='Free', max_length=250)
description = models.CharField(default='N/A', max_length=250)
monthlycost = models.FloatField(default=0.0)
def __str__(self):
return self.user.username + " - " + self.accounttype
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
account = models.ForeignKey(Account, unique=True)
谢谢大家:)重新排列文件,以便首先声明帐户。将帐户类放在UserProfile类之上John Gordon将帐户向上移动成功了您是否尝试过执行此操作,它是否真的有效