尝试获得一些Django技能。我希望有一个班级,一个领域成倍增加。所以我可以有多个连接到我的主课程,可以选择是否有效(为了将来的需要) 所以我的子类看起来像这样:
class Subclass(models.Model):
STATUS=(
('A', Active),
('U', Unactive)
)
status = modelsCharField(max_length=1, choices=STATUS)
name = models.CharField(some options)
在主要课程上,我想把它作为参考,但如果我选择:
field=models.ManyToManyField(Subclass)
它表示为第二个表,我必须从它的所有实体中选择每个实体。因此,如果我在子类中有2k个实体,我必须滚动所有这些实体才能找到我的连接(例如在默认的管理页面中)
我不希望这样。我只需要连接并显示在admin中的2k个实体中的2个。稍后,那些状态为Active的人将显示在页面本身上。
所以我想我会尝试一个ForeignKey关系:
field=models.ForeignKey(Subclass, on_delegate=models.CASCADE)
这会让我在迁移过程中遇到missing default values
错误。
任何帮助都会受到欢迎,因为我现在有点卡住了。
答案 0 :(得分:0)
非常感谢#AMG。我在你吸气时做了,现在它起作用了。 在我的models.py
中class Person(models.Model):
name = models.CharField(max_length=200, default="Name")
phone = models.CharField(max_length=12, default="+22123456789")
...
class Adress(models.Model):
...
person = models.ForeignKey(Person, on_delete=models.CASCADE)
...
我的admin.py
from django.contrib import admin
from .models import Adress
from .models import Person
class AdressInline(admin.TabularInline):
model = Adress
class PersonAdmin(admin.ModelAdmin):
inlines = [
AdressInline
]
admin.site.register(Person, PersonAdmin)
这允许我添加一个Person对象并在同一个地方添加一个地址。我现在所要做的就是制作清单。