Django: ¿Cómo se organizaría este gran lío modelo / gerente / diseño?

Para resumir las cosas antes de entrar en malos ejemplos, et al: Estoy tratando de crear una aplicación donde no tenga que escribir código en todos mis modelos para limitar las opciones a la cuenta actual registrada (no estoy usando Autenticación, o funciones incorporadas para la cuenta o inicio de sesión).

es decir, yono hacer Quiero tener que hacer algo como esto:

class Ticket(models.Model):
        account = models.ForeignKey(Account)
        client = models.ForeignKey(Client)  # A client will be owned by one account.
        content = models.CharField(max_length=255)

class TicketForm(forms.ModelForm):
        class Meta:
                model = Ticket
                exclude = ('account',)  #First sign of bad design?

        def __init__(self, *args, **kwargs):
                super(OrderForm, self).__init__(*args, **kwargs)
                if self.initial.get('account'):
                        # Here's where it gets ugly IMHO. This seems almost
                        # as bad as hard coding data. It's not DRY either.
                        self.fields['client'].queryset = Client.objects.filter(account=self.initial.get('account'))

Mi idea es crear unAccount(models.Model) modele con el siguiente administrador personalizado, y haga una subclase usando la herencia de varias tablas con todos mis modelos. Sin embargo, me está dando un dolor de cerebro enorme. ¿Todavía necesitaré unaccount ¿Clave extranjera en cada modelo? ¿Puedo acceder a la cuenta de clase principal para una determinada instancia de modelo?

class TicketManager(models.Manager):
    def get_query_set(self):
        return super(TicketManager, self).get_query_set().filter(account=Account.objects.get(id=1))
        # Obviously I don't want to hard code the account like this.
        # I want to do something like this:
        # return super(ProductManager, self).get_query_set().filter(account=self.account)
        # Self being the current model that's using this manager
        # (obviously this is wrong because you're not inside a model
        # instance , but this is where the confusion comes in for me.
        # How would I do this?).

Por favor ignore cualquier error de sintaxis. Escribí todo esto aquí.

Aquí es donde se me ocurrió la idea de hacer esto:Proyecto Django Namespace

Respuestas a la pregunta(3)

Su respuesta a la pregunta