Django Generator#

BESSER provides a code generator for Django models. These models represent the classes and relationships specified in a Structural model.

Let’s generate the code for the Django models of our Structural model example structural model example. You should create a DjangoGenerator object, provide the Structural model, and use the generate method as follows:

from besser.generators.django import DjangoGenerator

generator: DjangoGenerator = DjangoGenerator(model=library_model)
generator.generate()

The models.py file with the Django models defined will be generated in the <<current_directory>>/output folder and it will look as follows.

 1from django.db import models
 2
 3class Book(models.Model):
 4    pages = models.IntegerField()
 5    release = models.DateTimeField()
 6    title = models.CharField(max_length=255)
 7    writtenBy = models.ManyToManyField('Author')
 8    locatedIn = models.ForeignKey('Library')
 9
10    def __str__(self):
11        return str(self.id)
12
13class Author(models.Model):
14    name = models.CharField(max_length=255)
15    email = models.CharField(max_length=255)
16
17    def __str__(self):
18        return str(self.id)
19
20class Library(models.Model):
21    address = models.CharField(max_length=255)
22    name = models.CharField(max_length=255)
23
24    def __str__(self):
25        return str(self.id)
26
27
28
29