Параметр метода модели Django со значением по умолчанию от связанного

Мне нужен метод модели с параметром, имеющим значение по умолчанию:

class MyModel(models.Model):
    parameter1 = models.DecimalField(max_digits=8,decimal_places=6, default=0)

    def my_method(self, parameter = parameter1)
        return parameter

поэтому, если использовать print("{} - {}".format(object.my_method(),object.my_method(12.6)), то это нормально

Но мне нужно, чтобы он был более вложенным:

class MySubModel(models.Model):
    parameter1 = models.DecimalField(max_digits=8,decimal_places=6, default=0)

class MyModel(models.Model):
    submodel = models.ForeignKey(MySubModel, on_delete = models.RESTRICT)

    def my_method(self, parameter = submodel.parameter1)
        return parameter

И это вызывает ошибку:

AttributeError: объект 'ForeignKey' не имеет атрибута 'parameter'

Идеи?

прочитайте комментарий @Nick ODell, он намного умнее меня

но просто добавьте немного if!

class MyModel(models.Model):
    parameter1 = models.DecimalField(max_digits=8,decimal_places=6, default=0)

    def my_method(self, parameter = None)
        if parameter != None:
            return parameter
        return self.parameter1

        # or if you don't plan on passing 0 (zero)
        return parameter if parameter else self.parameter1
Вернуться на верх