![](/img/trans.png)
[英]TypeError at /project/create 'Account' object is not iterable
[英]'project.Account' has no ForeignKey to 'project.Object': How to link an account model to the objects of a project?
我正在嘗試創建一個其他人( Users
,我為其添加了一個Account
)可見的公告網站( All
)。 為此,我想稍微修改一下用戶配置文件,以添加電話、email 地址等字段……
所以我修改admin.py
:
from django.contrib import admin
from .models import Todo, Account
from django.contrib.auth.models import User
class AccountInline(admin.StackedInline):
model = Account
can_delete = False
verbose_name_plural = 'Accounts'
class TodoAdmin(admin.ModelAdmin):
readonly_fields = ('created',)
inlines = (AccountInline, )
admin.site.unregister(User)
admin.site.register(Todo, TodoAdmin)
但是回來了:
<class 'todo.admin.AccountInline'>: (admin.E202) 'todo.Account' has no ForeignKey to 'todo.Todo'.
所以我用account = models.ForeignKey(Account, on_delete=models.CASCADE)
添加了一個ForeignKey
到Todo
:
from django.db import models
from django.contrib.auth.models import User
class Account(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
email = models.CharField(max_length=100)
firstname = models.CharField(max_length=30)
lastname = models.CharField(max_length=50)
company = models.CharField(max_length=5)
def __str__(self):
return self.user.username
class Todo(models.Model):
title = models.CharField(max_length=100)
datetime = models.DateTimeField()
memo = models.TextField(blank=True)
created = models.DateTimeField(auto_now_add=True)
datecompleted = models.DateTimeField(null=True, blank=True)
important = models.BooleanField(default=False)
user = models.ForeignKey(User, on_delete=models.CASCADE)
account = models.ForeignKey(Account, on_delete=models.CASCADE)
def __str__(self):
return self.title
但我仍然有錯誤,我在管理面板中沒有任何用戶了
unregister
。 它應該是admin.site.register(User)
這意味着您的內聯管理代碼不正確,因為它期望相反。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.