Не могу придумать как правильно спроектировать следующую модель.

Есть модель Сайт. Каждый Сайт может иметь несколько Путей. При чём пользователь не должен видеть, какие есть другие Пути у других, сайтов и у других пользователей. Всё должно добавляться динамически и удаляться на момент создания/изменения Сайта.

Стандартный подход с many-to-many плох так как сначала нужно создать объекты в модели Путь. И они сразу станут видны, так как нельзя их провязать с новым объектом Site, т.к. он на этот момент ещё не будет создан.

Простой псевдо код:

class Path(models.Model):
    path = models.CharField(max_length=255)
    user = models.ForeignKey(Profile, related_name="path", verbose_name="user")

сlass Site(models.Model):
    user = models.ForeignKey(Profile, related_name="site", verbose_name="user")

    pathes = models.ManyToManyField(Path, blank=True, related_name='sites')

Подскажите как это сделать правильно. На лицо необходимость денормализации. Но ничего кроме костылей с сохранением всего в through и заведением заглушки для Path, не могу придумать.