Esempio n. 1
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts({'related_name': self.related_name or '+'})

        return FieldDeclaration(
            [('django.db', 'models')],
            'models.ForeignKey("{}", {})'.format(self.related_class, gen_args(args, ['on_delete']))
        )
Esempio n. 2
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts({'max_length': self.max_length})

        if self.choices:
            args['choices'] = self.choices

        return FieldDeclaration([('django.db', 'models')],
                                'models.CharField({})'.format(gen_args(args)))
Esempio n. 3
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts({
            'upload_to':
            self.options or f'image_upload/{self.model.ref}/{self.name}',
        })

        return FieldDeclaration([('django.db', 'models')],
                                'models.ImageField({})'.format(gen_args(args)))
Esempio n. 4
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts({'default': self.default})

        if 'null' in args:
            del args['null']

        return FieldDeclaration([('django.db', 'models')],
                                'models.BooleanField({})'.format(
                                    gen_args(args)))
Esempio n. 5
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts()

        if self.choices:
            args['choices'] = self.choices

        return FieldDeclaration([('django.db', 'models')],
                                'models.IntegerField({})'.format(
                                    gen_args(args)))
Esempio n. 6
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts({
            'related_name': '+'
        })

        return FieldDeclaration(
            [('filer.fields.image', 'FilerImageField')],
            'FilerImageField(on_delete=models.SET_NULL, {})'.format(gen_args(args))
        )
Esempio n. 7
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts({'related_name': self.related_name or '+'})

        if 'null' in args:
            del args['null']

        return FieldDeclaration(
            [('django.db', 'models')],
            'models.ManyToManyField("{}", {})'.format(self.related_class, gen_args(args, ['on_delete']))
        )
Esempio n. 8
0
    def get_rest_field(self):
        args = self.prepare_field_arguemnts()

        return FieldDeclaration(
            [
                ('cratis_filer.serializers', 'ImageFolderSerializer'),
                ('cratis_filer.utils', 'Size')
             ],
            'ImageFolderSerializer({}, {})'.format(self.sizes, gen_args(args))
        )
Esempio n. 9
0
    def get_model_field(self):
        imports = [('django.db', 'models')]

        own_args = {
            'max_digits': 15,
            'decimal_places': 2,
        }

        if self.positive:
            imports.append(('django.core.validators', 'MinValueValidator'))
            imports.append(('decimal', 'Decimal'))
            own_args['validators'] = '[MinValueValidator(Decimal("0.00"))]'

        args = self.prepare_field_arguemnts(own_args)

        return FieldDeclaration(
            imports, 'models.DecimalField({})'.format(
                gen_args(args, raw_args=['validators'])))
Esempio n. 10
0
    def get_model_field(self):
        max_len = 0

        # TODO: get validation back
        # for field_name in self.field_names:
        #
        #     if field_name not in self.model.all_and_inherited_fields_map:
        #         raise ValidationException(
        #             'Slug field "{}" can not find field "{}" in the model'.format(self.name, field_name))
        #
        #     target_field = self.model.all_and_inherited_fields_map[field_name]
        #
        #     if not isinstance(target_field, TextFieldDef):
        #         raise ValidationException(
        #             'Slug field "{}" target field is not of type text()'.format(self.name))
        #
        #     max_len += target_field.max_length

        args = self.prepare_field_arguemnts({'max_length': 100})

        return FieldDeclaration([('django.db', 'models')],
                                'models.SlugField({})'.format(gen_args(args)))
Esempio n. 11
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts()

        return FieldDeclaration([('django.db', 'models')],
                                'models.FloatField({})'.format(gen_args(args)))
Esempio n. 12
0
    def get_model_field(self):
        args = self.prepare_field_arguemnts()

        return FieldDeclaration([('ckeditor.fields', 'RichTextField')],
                                'RichTextField({})'.format(gen_args(args)))
Esempio n. 13
0
def test_gen_args_extend():
    assert gen_args({
        'a': 123,
        'b': "lala",
        '_': 'hoho!'
    }) == "a=123, b='lala', hoho!"
Esempio n. 14
0
def test_gen_args():
    assert gen_args({'a': 123, 'b': "lala"}) == "a=123, b='lala'"
Esempio n. 15
0
def test_gen_args_extend_only():
    assert gen_args({'_': 'hoho!'}) == "hoho!"