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