Python 如何创建一组对象来存储信息?
我有两种鸽子模型和治疗方法。每只鸽子都可以接受多重治疗。我想创建一些鸽子组,比如所有的鸽子、公鸡、雌鸽、吱吱鸽,当我想创建一个治疗方案来选择组并分配药物时Python 如何创建一组对象来存储信息?,python,django,Python,Django,我有两种鸽子模型和治疗方法。每只鸽子都可以接受多重治疗。我想创建一些鸽子组,比如所有的鸽子、公鸡、雌鸽、吱吱鸽,当我想创建一个治疗方案来选择组并分配药物时 #models class Pigeons(models.Model): ring= models.CharField(max_length=25, null=False, blank=False, unique=True) status = models.ForeignKey(PigeonStatus, on_delete=
#models
class Pigeons(models.Model):
ring= models.CharField(max_length=25, null=False, blank=False, unique=True)
status = models.ForeignKey(PigeonStatus, on_delete=models.CASCADE, null=False, blank=False)
......
class Treatment(models.Model):
date = models.DateTimeField(default=timezone.now, null=True, blank=True)
# we can treat only one pigeon
pigeon = models.ManyToManyField(Pigeons, on_delete=models.CASCADE)
# or select group to assign medication
group = ......
medication = models.ForeignKey(Medication, on_delete=models.SET_NULL)
哪种方法是最好的?我必须创建一个单独的模型来存储组,或者它可以在模板中?您需要为您的项目确定最佳方法。最常见的两种方法是使用外键
group = models.ForeignKey(Sex, on_delete=models.CASCADE)
或者使用选择
SEX_OPTIONS = (
('male','Male'),
('female',Female')
)
group = models.CharField(max_length=6, choices=SEX_OPTIONS)
您需要为您的项目确定最佳方法。最常见的两种方法是使用外键
group = models.ForeignKey(Sex, on_delete=models.CASCADE)
或者使用选择
SEX_OPTIONS = (
('male','Male'),
('female',Female')
)
group = models.CharField(max_length=6, choices=SEX_OPTIONS)
当我想看到一只鸽子的所有治疗方法时,它包括用这种方法保存的治疗方法吗?这是基于性别的分组,但我如何将所有鸽子分组?治疗将是一个单独的模式或选择。我不知道为什么他们会被包括在性爱中,但我不知道你试图实现的总体目标是什么。是的,这是一个单独的模式。我们认为我必须创建一个疫苗接种列表,或者给数据库中的所有鸽子提供相同的药物。我怎样才能做到这一点,而不是选择每一只鸽子,或者我怎样才能进行集体治疗?治疗模型有一个鸽子场,它是一个manytomanyfield,这意味着我必须手动选择每只鸽子,但如果我有100只或更多的鸽子?当我想看到一只鸽子的所有治疗时,它包括用这种方法保存的治疗?这是基于性别的分组,但我如何将所有鸽子分组?治疗将是一个单独的模式或选择。我不知道为什么他们会被包括在性爱中,但我不知道你试图实现的总体目标是什么。是的,这是一个单独的模式。我们认为我必须创建一个疫苗接种列表,或者给数据库中的所有鸽子提供相同的药物。我怎样才能做到这一点,而不是选择每一只鸽子,或者我怎样才能进行集体治疗?治疗模型有一个鸽场,它是一个多鸽场,这意味着我必须手动选择每只鸽子,但如果我有100只或更多的鸽子?