我有一个Member
模型和一个Tag
模型。它们具有使用activerecord关联建立的多对多关系。结果,在我的模式中反映了一个members_tags
简单联接表。默认情况下,该表具有一个created_at
列。我希望访问此信息以查看将标签应用于成员的日期时间。这可能吗?
答案 0 :(得分:0)
由于您在成员和标签之间具有from faker import Faker
from first_app.models import AccessRecord, Webpage, Topic
import random
import django
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'first_project.settings')
django.setup()
fakegen = Faker()
topics = ['search', 'social', 'News', 'Games']
def add_topic():
t = Topic.objects.get_or_create(top_name=random.choice(topics))[0]
t.save()
return t
enter code here
def populate(N=5):
for entry in range(N):
top = add_topic()
fake_url = fakegen.url()
fake_date = fakegen.date()
fake_name = fakegen.company()
webpg = Webpage.objects.get_or_create(top_name=top, url=fake_url, name=fake_name)[0]
acc_rec = AccessRecord.objects.get_or_create(name=webpg, date=fake_date)[0]
if __name__ == '__main__':
print('populating script')
populate(20)
print('poulated')
关系,因此您将拥有一个已连接的模型 ModelTag 或 TagModel 取决于您的命名方式)。创建联接表many to many
(或model_tags
)时,您也可以访问tag_models
列。
假设您有一个ModelTag模型。您可以使用以下方式访问其任何实例created_at
列:
created_at
如果要访问所有实例的created_at列:
ModelTag.first.created_at
Dunno是否就是您想要的?