我有以下型号:
class Investor(Profile):
ROLE = (
('AN', 'Angel Investor'),
('VC', 'Venture Capital'),
('SC', 'Seed Capital')
)
role = models.CharField(max_length=2, default='AN', choices=ROLE)
min_inv = models.DecimalField(
default=0, max_digits=20, decimal_places=2,
verbose_name='Minimum Investments per year')
max_inv = models.DecimalField(
default=0, max_digits=20, decimal_places=2,
verbose_name='Maximum investments per year')
no_startups = models.IntegerField(
default=0, verbose_name='Number of investments per year')
rating_sum = models.FloatField(default=0)
no_raters = models.IntegerField(default=0)
我想为此模型添加多个标签。 - 类别 - 舞台 - 资金
我希望将投资者分配到多个类别,阶段和资金。 因此,投资者可以与多个类别挂钩 和多个阶段 和多种资助类型。
如何编辑模型?
答案 0 :(得分:1)
您可以为连接的模型添加ManyToMany关系吗?
class Investor(Profile):
ROLE = (
('AN', 'Angel Investor'),
('VC', 'Venture Capital'),
('SC', 'Seed Capital')
)
role = models.CharField(max_length=2, default='AN', choices=ROLE)
min_inv = models.DecimalField(
default=0, max_digits=20, decimal_places=2,
verbose_name='Minimum Investments per year')
max_inv = models.DecimalField(
default=0, max_digits=20, decimal_places=2,
verbose_name='Maximum investments per year')
no_startups = models.IntegerField(
default=0, verbose_name='Number of investments per year')
rating_sum = models.FloatField(default=0)
no_raters = models.IntegerField(default=0)
categories = models.ManyToMany(Category)
stages = models.ManyToMany(Stage)
fundings = models.ManyToMany(Funding)
使用manytomany然后你可以分配阶段
investor = Investor.objects.all()[0]
investor.categories.add(category_instance_one, category_instance_two)
investor.categories.all() # retrieves all categories that this investor has