我正在创建一个应用程序,用户可以拥有多种技能。因此,我将其设置如下:
class Skill(models.Model):
name = models.CharField(max_length=30)
class Listing(models.Model):
...(other stuff for the model here)
skill = models.ManyToManyField(Skill,)
然后我将创建一个类似于这样的表单:
class ListingForm(ModelForm):
skill = forms.ModelMultipleChoiceField(queryset=Skill.objects.all())
class Meta:
model = Listing
最终目标是希望每个技能都显示为表单中的复选框。这样可能有30个技能可供选择,用户可以勾选他们擅长的任何一个。我面临的问题是我必须初始创建那些30个技能对象。我知道如何创建对象,但是不知道在哪里放置代码,以便只有在服务器第一次启动时才会创建这30个技能对象。应该在哪里创建这些初始技能对象?还有更好的方法吗?