Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class System(models.Model):
- project = models.ForeignKey('solgeo.Project', related_name='systems', on_delete=models.CASCADE)
- x = models.IntegerField(default=1)
- y = models.IntegerField(default=4)
- # calculated properties
- z = models.IntegerField(default=4)
- @classmethod
- def create( cls, project, x, y):
- system = cls(project=project, x=x, y=y)
- # Calculated properties
- system.z = x*y
- return system
- class SystemForm(forms.ModelForm):
- class Meta:
- model = System
- fields = [
- 'x',
- 'y'
- ]
- class SystemCreateView(LoginRequiredMixin, CreateView):
- model = System
- template_name = 'system/create.html'
- form_class = SystemForm
- def form_valid(self, form):
- obj = form.save(commit=False)
- project_id = self.kwargs['pk']
- project = get_object_or_404(Project, pk=project_id)
- obj.project = project
- return super(SystemCreateView, self).form_valid(form)
- def get_context_data(self, *args, **kwargs):
- context = super(SystemCreateView, self).get_context_data(*args, **kwargs)
- context['project_id'] = self.kwargs['pk']
- return context
Add Comment
Please, Sign In to add comment