Custom django foreignfield

Viewed 214

Anybody knows how to create a foreignkey field and make it always point to same model, so far I got these.

class PanMachineTimeUnitField(models.ForeignKey):
    def __init__(self, **kwargs):
        to = 'panbas.PanBasTimeUnit'
        kwargs['verbose_name'] = _('Machine Unit')
        kwargs['related_name'] = 'machine_unit'
        super(PanMachineTimeUnitField, self).__init__(to, **kwargs)

But I got errors when on start. I aim to use it like,

machine_unit = PanMachineTimeUnitField()

No further declarations needed.

Edit: I want this because, I will have this foreignkey in quiet a few places. If I want to change the verbose_name of field, I want all of my fields to be affected by this change. Verbose name was an example, it may be an another attribute.

I dont want to use settings py to declare the defaults, either.

5 Answers
Related