0

I have chained models -> Category - Brand - Type. For example :

  • Category : Light vehicle
  • Brand : Volkswagen
  • Type : Passat

And I have an Post Model. Question : How i can get chained objects in the form? Code:


class Category(models.Model):
    title = models.CharField(max_length=32)
    slug = models.SlugField(max_length=32)

    def __str__(self):
        return "%s" % self.title

class Brand(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    title = models.CharField(max_length=32)

    def __str__(self):
        return "%s" % self.title

class Type(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    brand = ChainedForeignKey(
        'Brand',
        chained_field="category",
        chained_model_field="category",
        show_all=False,
        auto_choose=True
    )
    title = models.CharField('Модель автомобіля', max_length=32)
    slug = models.SlugField(max_length=32)

    def __str__(self):
        return "%s" % self.title

Post Model :

class Post(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
    type = models.ForeignKey(Type, on_delete=models.CASCADE)
......

    def __str__(self):
        return "{} {}".format(self.brand, self.type)

I need to create a form with chained objects. How I can get it ? or how to edit my Post model?

rudiq
  • 15
  • 2
  • Have you looked at django model forms? https://docs.djangoproject.com/en/2.2/topics/forms/modelforms/ – Matt Seymour Oct 25 '19 at 07:51
  • What is your exact requirement? Why do `Type`s have brands as well as `Post`s have brands? Why not just point a `Post` to a `Type`? – Ali Asgari Oct 25 '19 at 08:29

0 Answers0