Вие го правите погрешно. Трябва да запазите препратка към вашите Materials
след това го предайте като аргумент на Regenerators
Демо
class Materials(Document):
title = StringField(unique=True, required=True)
class Regenerators(Document):
material = ReferenceField(Materials, required=True)
m = Materials(title='aisi304').save()
r = Regenerators(material=m).save()
Тогава вашите документи изглеждат така:
> db.regenerators.find()
{
"_id" : ObjectId("565c9d110acf4510cf1f8712"),
"material" : ObjectId("565c9cfc0acf4510cf1f8711")
}
> db.materials.find()
{ "_id" : ObjectId("565c9cfc0acf4510cf1f8711"), "title" : "aisi304" }
>
Ако искате да използвате препратка към съществуващ документ, трябва да подадете заявка, като използвате .get
метод, след което го предайте като аргумент на Regenerators
m = Materials.objects.get(title='aisi304')
r = Regenerators(material=m).save()