Hi Mark,

I have some questions to you.
1. Does any of MetaData have predefined list of MetaDataValues?
2. Can MetaDataValue be assigned to many Documents or it is specific to
particular Document?

Regards,
Constantine C.

On Sun, Jun 25, 2017 at 6:20 PM, Mark Phillips <m...@phillipsmarketing.biz>
wrote:

> I have a class Document that uploads a document. I have a class MetaData
> that is the name for some metadata for that document. Since a MetaData can
> have one or more values, there is another class called MetaDataValue that
> has a ForeignKey to MetaData. Finally, there is a class
> DocumentMetaDataValue that links these three tables. It almost works...but
> in the Admin screen when I want to add something to the DocumentMetaData
> class I can select one or more documents from a drop down list (good!), and
> one or more Metadata from a dropdown list (good), and I can select one or
> more MetaDataValues from a drop down list (good). However, the bad news is
> that the relationship between the MetaData and MetaDataValue is not
> preserved.
>
> For example, say I have MetaData 'people' with values John, Mark, Allison,
> and 'events' with values birthday, wedding, funeral. When I add a
> DocumentMetaData, I want to select 'people' from the MetaData dropdown, and
> then only the MetaDataValues for 'people' should be displayed in the
> MetaDataValues dropdown. Instead, what I get is all the MetaDataValues
> regardless of the associated MetaData, and I can add a MetaDataValue of
> John to a document under the Metadata label of 'events'. What am I missing
> in the relationship between the MetaDataValues class and the MetaData class?
>
> These are my classes. I have removed some of the extraneous fields and
> methods in the classes for clarity.
>
> class MetaData(models.Model):
>     metadata_id = models.AutoField(primary_key = True)
>     name = models.CharField('metadata name', max_length=200)
>
> class MetaDataValue(models.Model):
>     metadata = models.ForeignKey(MetaData, on_delete=models.CASCADE,)
>     value = models.CharField('value', max_length=200)
>
> class Document(models.Model):
>     document_id = models.AutoField(primary_key=True)
>     title = models.CharField('title', max_length=200)
>
> class DocumentMetaData(models.Model):
>     document = models.ManyToManyField(Document)
>     metadata = models.ManyToManyField(MetaData)
>     metadatavalue = models.ManyToManyField(MetaDataValue)
>
> Thanks!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/django-users/CAEqej2PO2bMW%2BZ%3DPJVy66%3DWspm6E7zetGrYHyxjg-
> 9iOjBmzaQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CAEqej2PO2bMW%2BZ%3DPJVy66%3DWspm6E7zetGrYHyxjg-9iOjBmzaQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Sincerely yours,
Constantine C

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAK52boVERbCZW1%3D0F7G_f%3DFyUtQtEBVeyuFkNQVpxs7%3D91Gb3Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to