在Django中访问外键字段值时遇到问题

时间:2020-04-22 15:08:34

标签: django django-models django-views django-templates

class State(models.Model):
   name = models.CharField(max_length=30)
   slug = models.SlugField(allow_unicode=True, unique=True, editable=False)
   def __str__(self):
     return str(self.name)

   def save(self, *args, **kwargs):
     self.slug = slugify(self.name)
     super().save(*args, **kwargs)

class Location(models.Model):
    place_name = models.CharField(max_length=256, primary_key=True)
    latitude = models.DecimalField(max_digits=19, decimal_places=16)
    longitude = models.DecimalField(max_digits=19, decimal_places=16)
    state = models.ForeignKey(State, on_delete=models.CASCADE, null=True, blank=True)
    def __str__(self):
        return str(self.place_name)

class Case(models.Model):
    user = models.ForeignKey(User, related_name = 'Case', on_delete=models.CASCADE, null=True, blank=True)
    address = models.ForeignKey(Location, null = True, blank=True, on_delete=models.CASCADE, related_name='Case_Place')
    case_type = models.BooleanField(default=False)   # True is Positive or False is Negative.

    def __str__(self):
        if self.case_type == True:
            return str(self.address) + "- Positive"
        else:
            return str(self.address) + "- Suspect"

    def get_absolute_url(self):
        return reverse('case:all')

    class Meta:
        ordering = ['-case_type']

我想从Case 中按状态获取状态,总计(case_type),case_type。然后,当用户单击任何状态时,将显示以下地址,即来自Case 的地址,总计(case_type),case_type按地址分组。

0 个答案:

没有答案