我目前正在建立一个用于杂货店购物的应用程序,我想在其中共享家庭中的一组数据(商店,产品,食谱和标签)。
假设我有一个名为class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput())
confirm_password = forms.CharField(widget=forms.PasswordInput())
class Meta():
model = User
fields = ('first_name','last_name','username','email','password')
def clean(self):
cleaned_data = super(UserForm, self).clean()
password = cleaned_data.get("password")
confirm_password = cleaned_data.get("confirm_password")
if password != confirm_password:
raise forms.ValidationError(
"password and confirm_password does not match"
)
class UserProfileInfoForm(forms.ModelForm):
class Meta():
model = UserProfile
fields = ('role',)
class FeedbackForm(forms.ModelForm):
class Meta():
model = UserProfile
fields = ('feedback',)
,Shop
,Product
和Recipe
的实体。如何在CloudKit中建立关系,允许每个受邀用户编辑商店,添加产品或阅读食谱?
我想在某种“家庭商店”中共享所有已知信息,但似乎没有关于如何使用CloudKit和CoreData进行此操作的文档,因此,我希望那些已经建立了一组实体共享的人在多个用户之间。
答案 0 :(得分:0)
我建议在CloudKit中与您的Family
,Shop
,Product
和Recipe
实体一起设置一个Tag
实体。 Family
将是父实体,其他将具有指向CKReference
记录的Family
属性。
为了协调用户之间的共享记录,您可以查看CKShare
,这是Apple提供的用于从私有数据库(documentation)共享记录的机制。
在您的情况下,您将在用户之间共享Family
记录。只要其他记录设置为将Family
记录作为其父记录,它们就会自动与Family
记录的CKShare
共享。
我喜欢在Medium上学习一个教程,该教程详细介绍了它的工作原理,该教程应该很好地适用于您要执行的操作:https://medium.com/@adammillers/cksharing-step-by-step-33800c8950d2
整个工作流程远远超出了您对堆栈溢出的回答。我希望这可以帮助您入门。