我正在开发一个测试 Django 应用程序 CatDB。我是每个“所有者”类都有一个变量,该变量是将该所有者列为其所有者的猫的数量。
在我的 Models.py 中:从 django.db 导入模型
class Owner(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
location = models.CharField(max_length=50)
def __str__(self):
return self.name
def num_cats(self): //This is the line in question
return cat_set.count()
class Cat(models.Model):
name = models.CharField(max_length=50)
owner = models.ForeignKey(Owner)
age = models.IntegerField()
color = models.CharField(max_length=30)
def __str__(self):
return self.name
我尝试使用名为 num_cats 的变量来完成此操作,但它不起作用。
另外,在我的 Admin.py 中:
from django.contrib import admin
from catdb.models import Cat, Owner
class OwnerAdmin(admin.ModelAdmin):
fieldsets = [
('Basic information', {'fields': ['name','location'], 'classes': ['collapse']}),
]
list_display = ('name','location','num_cats') //Use num_cats as a column in the list
admin.site.register(Owner, OwnerAdmin)
admin.site.register(Cat)
我怎样才能正确实施呢?