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_type), case_type, группировать по состоянию из Case . А когда пользователь щелкает по любому состоянию, отображается следующий адрес, итого (case_type), case_type group по адресу из Case .