我遇到了与他完全相同的问题:Django ModelAdmin中的"list_display"可以显示ForeignKey字段的属性吗?
我想在答案管理员身上看到问题. 我做了与答案相同的事情,但得到了这个错误:
'Answer' object has no attribute 'question'
Run Code Online (Sandbox Code Playgroud)
这是我的代码(问题可以有很多可能的答案):
class Question(models.Model):
question = models.CharField(max_length=255)
class Answer(models.Model):
question = models.ForeignKey('Question')
answer = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)
我的管理员:
class AnswerAdmin(admin.ModelAdmin):
model = Answer
list_display = ['answer', 'get_question', ]
def get_question(self, obj):
return obj.question.question
admin.site.register(Answer, AnswerAdmin)
Run Code Online (Sandbox Code Playgroud) 这是我的模型:
class Item(models.Model):
name = models.CharField(max_length=30)
...
choices = (
('weapon', 'weapon'),
('shield', 'shield'),
)
typeOf = models.CharField(max_length=15, choices=choices)
class Character(models.Model):
name = models.CharField(max_length=30, unique=True)
...
weapon = models.ForeignKey(Inventory) // **THIS IS WHAT I WANT TO DE BUT DOES'NT WORK**
shield = models.ForeignKey(Inventory) // **THIS IS WHAT I WANT TO DE BUT DOES'NT WORK**
inventory = models.ManyToManyField(Item, through='Inventory')
class Inventory(models.Model):
character = models.ForeignKey('Character')
item = models.ForeignKey('Item')
Run Code Online (Sandbox Code Playgroud)
我知道如何将物品添加到库存但现在我想装备它们.我该怎么做外键?我希望能够从我的库存中装备武器
我想为我的登录和注册视图执行@login_required的反转.这是我想要做的(但不起作用)
def amIAuth(request)
if request.user.is_authenticated():
return redirect(account)
def login(request):
amIAuth(request)
....
Run Code Online (Sandbox Code Playgroud)